MSDN Library

Lazy<T> Constructor (Func<T>)

Initializes a new instance of the Lazy<T> class. When lazy initialization occurs, the specified initialization function is used.

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

public Lazy(
	Func<T> valueFactory


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


valueFactory is null.

An instance that is created with this constructor may be used concurrently from multiple threads.

The thread safety mode of a Lazy<T> instance that is created by using this constructor is LazyThreadSafetyMode.ExecutionAndPublication. The thread safety mode describes the behavior when multiple threads try to initialize the Lazy<T> instance.

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


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

© 2015 Microsoft