You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
51 lines
1.1 KiB
51 lines
1.1 KiB
5 years ago
|
#if NET20 || NET30 || NET35 || !NET_4_6
|
||
|
|
||
|
namespace System
|
||
|
{
|
||
|
public class Lazy<T, TMetadata> : Lazy<T>
|
||
|
{
|
||
|
private readonly TMetadata _metadata;
|
||
|
|
||
|
public Lazy(TMetadata metadata)
|
||
|
{
|
||
|
_metadata = metadata;
|
||
|
}
|
||
|
|
||
|
public Lazy(Func<T> valueFactory, TMetadata metadata)
|
||
|
: base(valueFactory)
|
||
|
{
|
||
|
_metadata = metadata;
|
||
|
}
|
||
|
|
||
|
public Lazy(TMetadata metadata, bool isThreadSafe)
|
||
|
: base(isThreadSafe)
|
||
|
{
|
||
|
_metadata = metadata;
|
||
|
}
|
||
|
|
||
|
public Lazy(TMetadata metadata, LazyThreadSafetyMode mode)
|
||
|
: base(mode)
|
||
|
{
|
||
|
_metadata = metadata;
|
||
|
}
|
||
|
|
||
|
public Lazy(Func<T> valueFactory, TMetadata metadata, bool isThreadSafe)
|
||
|
: base(valueFactory, isThreadSafe)
|
||
|
{
|
||
|
_metadata = metadata;
|
||
|
}
|
||
|
|
||
|
public Lazy(Func<T> valueFactory, TMetadata metadata, LazyThreadSafetyMode mode)
|
||
|
: base(valueFactory, mode)
|
||
|
{
|
||
|
_metadata = metadata;
|
||
|
}
|
||
|
|
||
|
public TMetadata Metadata
|
||
|
{
|
||
|
get { return _metadata; }
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endif
|