8[DebuggerDisplay(
"ThreadSafetyMode={Mode}, IsValueCreated={IsValueCreated}, IsValueFaulted={IsValueFaulted}, Value={ValueForDebugDisplay}")]
 
   50        return LazyHelper.CreateViaDefaultConstructor<T>();
 
 
   63    public Lazy(Func<T> valueFactory)
 
 
   68    public Lazy(
bool isThreadSafe)
 
   69        : this((Func<T>)null, 
LazyHelper.GetModeFromIsThreadSafe(isThreadSafe), useDefaultConstructor: true)
 
 
   74        : this((Func<T>)null, mode, useDefaultConstructor: true)
 
 
   78    public Lazy(Func<T> valueFactory, 
bool isThreadSafe)
 
   79        : this(valueFactory, 
LazyHelper.GetModeFromIsThreadSafe(isThreadSafe), useDefaultConstructor: false)
 
 
   84        : this(valueFactory, mode, useDefaultConstructor: false)
 
 
   90        if (valueFactory == 
null && !useDefaultConstructor)
 
 
  126        lock (executionAndPublication)
 
  128            if (
_state == executionAndPublication)
 
  130                if (useDefaultConstructor)
 
 
  145        if (lazyHelper == publicationOnly)
 
 
  193            case LazyState.PublicationOnlyViaConstructor:
 
  196            case LazyState.PublicationOnlyViaFactory:
 
  202            case LazyState.ExecutionAndPublicationViaConstructor:
 
  205            case LazyState.ExecutionAndPublicationViaFactory:
 
  209                state.ThrowException();
 
 
  222        return Value.ToString();
 
 
  231    public Lazy(Func<T> valueFactory, TMetadata metadata)
 
 
  237    public Lazy(TMetadata metadata)
 
 
  242    public Lazy(TMetadata metadata, 
bool isThreadSafe)
 
 
  248    public Lazy(Func<T> valueFactory, TMetadata metadata, 
bool isThreadSafe)
 
  249        : base(valueFactory, isThreadSafe)
 
 
  261        : base(valueFactory, mode)
 
 
 
static bool GetIsValueFaulted(LazyHelper state)
 
static readonly LazyHelper PublicationOnlyWaitForOtherThreadToPublish
 
LazyThreadSafetyMode GetMode()
 
static readonly LazyHelper NoneViaConstructor
 
static LazyHelper Create(LazyThreadSafetyMode mode, bool useDefaultConstructor)
 
void PublicationOnlyWaitForOtherThreadToPublish()
 
static T CreateViaDefaultConstructor()
 
void PublicationOnlyViaFactory(LazyHelper initializer)
 
void PublicationOnly(LazyHelper publicationOnly, T possibleValue)
 
Lazy(Func< T > valueFactory, TMetadata metadata)
 
Lazy(Func< T > valueFactory, bool isThreadSafe)
 
volatile LazyHelper _state
 
void PublicationOnlyViaConstructor(LazyHelper initializer)
 
Lazy(Func< T > valueFactory, LazyThreadSafetyMode mode, bool useDefaultConstructor)
 
void ViaFactory(LazyThreadSafetyMode mode)
 
override? string ToString()
 
Lazy(Func< T > valueFactory, TMetadata metadata, LazyThreadSafetyMode mode)
 
Lazy(LazyThreadSafetyMode mode)
 
Lazy(Func< T > valueFactory, TMetadata metadata, bool isThreadSafe)
 
Lazy(Func< T > valueFactory)
 
void ExecutionAndPublication(LazyHelper executionAndPublication, bool useDefaultConstructor)
 
Lazy(Func< T > valueFactory, LazyThreadSafetyMode mode)
 
Lazy(TMetadata metadata, bool isThreadSafe)
 
readonly TMetadata _metadata
 
Lazy(TMetadata metadata, LazyThreadSafetyMode mode)
 
static string Lazy_Value_RecursiveCallsToValue
 
static string Lazy_ToString_ValueNotCreated
 
static int CompareExchange(ref int location1, int value, int comparand)
 
DynamicallyAccessedMemberTypes
 
@ PublicParameterlessConstructor
 
@ ExecutionAndPublication
 
@ PublicationOnlyViaFactory
 
@ PublicationOnlyViaConstructor