0 out of 1 rated this helpful - Rate this topic

Lazy<T> Constructor (Func<T>)

Updated: March 2011

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
)

Parameters

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

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 initialized with 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.

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Portable Class Library

Supported in: Portable Class Library

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Date

History

Reason

March 2011

Corrected information about exception caching.

Content bug fix.

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ