System.Lazy

方法描述

提供对延迟初始化的支持。

语法定义(C# System.Lazy 类 的用法)

[SerializableAttribute]
[ComVisibleAttribute(false)]
[HostProtectionAttribute(SecurityAction.LinkDemand, Synchronization = true, 
	ExternalThreading = true)]
public class Lazy

构造函数

构造函数名称 构造函数描述
Lazy() 初始化 Lazy 类的新实例。 发生延迟初始化时,使用目标类型的默认构造函数。
Lazy(Boolean) 初始化 Lazy 类的新实例。 发生延迟初始化时,使用目标类型的默认构造函数和指定的初始化模式。
Lazy(Func) 初始化 Lazy 类的新实例。 发生延迟初始化时,使用指定的初始化函数。
Lazy(LazyThreadSafetyMode) 初始化 Lazy 类的新实例,其中使用 T 的默认构造函数和指定的线程安全性模式。
Lazy(Func, Boolean) 初始化 Lazy 类的新实例。 发生延迟初始化时,使用指定的初始化函数和初始化模式。
Lazy(Func, LazyThreadSafetyMode) 初始化 Lazy 类的新实例,其中使用指定的初始化函数和线程安全性模式。

成员/方法

方法名称 方法描述
Equals(Object) 确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
GetHashCode 用作特定类型的哈希函数。 (继承自 Object。)
GetType 获取当前实例的 Type。 (继承自 Object。)
MemberwiseClone 创建当前 Object 的浅表副本。 (继承自 Object。)
ToString 创建并返回此实例的 Lazy.Value 属性的字符串表示形式。 (重写 Object.ToString()。)

提示和注释

首次访问 Lazy.Value 属性时会发生惰性初始化。

使用 Lazy 实例推迟创建大型或资源密集型对象或推迟执行资源密集型任务,尤其当这样的创建或执行不能在程序的生存期中发生时。

注意

应用到此类型或成员的 HostProtectionAttribute 特性具有以下 Resources 属性值:Synchronization | ExternalThreading。HostProtectionAttribute 不影响桌面应用程序(桌面应用程序一般通过双击图标、键入命令或在浏览器中输入 URL 启动)。有关更多信息,请参见 HostProtectionAttribute 类或 SQL Server 编程和宿主保护特性。

System.Lazy 类例子


继承层次结构

System.Object

System.Lazy

System.Lazy

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

线程安全

默认设置下,Lazy 类的所有公共和受保护的成员都是线程安全的,可从多个线程同时使用。 可根据需要以及按实例删除这些线程安全保证,使用该类型的构造函数的参数。

版本信息

.NET Framework 受以下版本支持:4 .NET Framework Client Profile 受以下版本支持:4 受以下版本支持:

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。