Freigeben über


Lazy<T> Constructor (Func<T>, LazyThreadSafetyMode)

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Initializes a new instance of the Lazy<T> class that uses the specified initialization function and thread safety mode.

Namespace:  System
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Sub New ( _
    valueFactory As Func(Of T), _
    mode As LazyThreadSafetyMode _
)
public Lazy(
    Func<T> valueFactory,
    LazyThreadSafetyMode mode
)

Parameters

  • valueFactory
    Type: System.Func<T>
    The delegate that is invoked to produce the lazily initialized value when it is needed.

Exceptions

Exception Condition
ArgumentOutOfRangeException

mode contains an invalid value.

ArgumentNullException

valueFactory is nulla null reference (Nothing in Visual Basic).

Remarks

The thread safety mode of a Lazy<T> instance describes the behavior when multiple threads try to initialize the Lazy<T> instance.

Exceptions that are thrown by valueFactory are cached, unless mode is PublicationOnly. For more information, see the System.Threading.LazyThreadSafetyMode enumeration.

Version Information

Silverlight

Supported in: 5, 4

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.