Lazy(Of T) Constructor (Func(Of T), Boolean)

Initializes a new instance of the Lazy(Of T) class. When lazy initialization occurs, the specified initialization function and initialization mode are used.

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

'Declaration
Public Sub New ( _
	valueFactory As Func(Of T), _
	isThreadSafe As Boolean _
)

Parameters

valueFactory
Type: System.Func(Of T)
The delegate that is invoked to produce the lazily initialized value when it is needed.
isThreadSafe
Type: System.Boolean
true to make this instance usable concurrently by multiple threads; false to make this instance usable by only one thread at a time.

ExceptionCondition
ArgumentNullException

valueFactory is Nothing.

The thread safety mode of a Lazy(Of T) instance that is created by using this constructor is LazyThreadSafetyMode.ExecutionAndPublication if isThreadSafe is true; otherwise, the mode is LazyThreadSafetyMode.None. The thread safety mode describes the behavior when multiple threads try to initialize the Lazy(Of T) instance.

To specify the LazyThreadSafetyMode.PublicationOnly mode, use the Lazy(Of T)(Func(Of T), LazyThreadSafetyMode) or Lazy(Of T)(LazyThreadSafetyMode) constructor.

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

Silverlight

Supported in: 5, 4

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

Community Additions

ADD
Show: