#if NET20 || NET30 || NET35 || !NET_4_6 namespace System { public class Lazy : Lazy { private readonly TMetadata _metadata; public Lazy(TMetadata metadata) { _metadata = metadata; } public Lazy(Func 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 valueFactory, TMetadata metadata, bool isThreadSafe) : base(valueFactory, isThreadSafe) { _metadata = metadata; } public Lazy(Func valueFactory, TMetadata metadata, LazyThreadSafetyMode mode) : base(valueFactory, mode) { _metadata = metadata; } public TMetadata Metadata { get { return _metadata; } } } } #endif