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.
- mode
Type: System.Threading.LazyThreadSafetyMode
One of the enumeration values that specifies the thread safety mode.
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.
See Also