当前位置: 首页 > news >正文

Framework4.0提供了一个包装类 Lazy<T>,可以轻松的实现延迟加载。

///这行代码表明:要创建一个延迟加载的字符串对象s
///原型为Lazy<T> 对象名=new Lazy<T>(Fun<T>)
///采用泛型委托进行构造,实例化此委托时要求必须是返回值T类型的方法
///如在本例中,T为string,则TestLazy.GetString方法的返回值必须也是string类型
Lazy<string> s = new Lazy<string>(TestLazy.GetString);

本例中TestLazy.GetString()方法如下示:

public class TestLazy
{
public static string GetString()
{
return DateTime.Now.ToLongTimeString();
}
}

可以通过IsValueCreated属性来确定对象是否已创建,通过Value属性来获取当前对象的值。

Console.WriteLine(s.IsValueCreated);//返回False
Console.WriteLine(s.Value); //返回s的当前值
Console.WriteLine(s.IsValueCreated);//返回True

下面经出完整代码,以供测试

字符串对象延迟加载完整示例

下面再用一个例子,演示延迟加载。

在这个例子中,使用了BlogUser对象,该对象包含多个Article对象,当加载BlogUser对象时,Article对象并不加载,当需要使用Article对象时,才加载。

包含子对象的延迟加载

运行结果如图示:

http://www.jsqmd.com/news/1124725/

相关文章:

  • 遗传算法实战调优:参数、编码与收敛监控硬核指南
  • PIC18F4685与M95M04 SPI EEPROM嵌入式存储方案详解
  • AI模型漂移检测与应对实战指南
  • 基于YOLO系列算法的森林火灾智能检测系统设计与实现
  • 基于FNN与计算机视觉的水果分类系统设计与实现
  • 基于TC78H660FTG与STM32的高效电机驱动方案设计
  • CTF Pwn入门实战:从栈溢出原理到Warmup漏洞利用全解析
  • SpringBoot登录认证实战:基于Session与Spring Security的完整实现
  • Si4732与PIC18F4682打造专业收音系统的核心技术解析
  • 2025科研必备AI工具链:提升效率的实战指南
  • GPT-5不存在?揭穿AI虚假版本命名与中文版误导陷阱
  • 三步解锁:让小爱音箱变身智能助手的完整指南
  • SysML v2:打破传统系统建模瓶颈,实现工程设计的智能协作
  • Windows Server安全加固:启用FIPS模式根治SWEET32漏洞
  • 数据科学转行实战路径:问题驱动的认知构建法
  • Claude Code 接入 DeepSeek 完整指南:从原理到实战的终端 AI 编程助手配置
  • Navicat密码找回:基于Blowfish加密的本地PHP解密方案
  • 多维聚合实战:超越GROUP BY的数据操作流水线
  • AI辅助工具如何提升毕业论文答辩效率
  • STM32与SPI EEPROM数据安全存储实战
  • Win11Debloat:3分钟快速优化Windows系统,提升50%性能的终极指南
  • MiMo-V2-Pro与Qwen3.6 Plus:端侧任务型Agent vs 服务端工具型Agent选型指南
  • 3分钟搞定B站缓存合并难题:BilibiliCacheVideoMerge让你的离线视频完整如初
  • AI如何优化学术论文投稿:从期刊匹配到智能改写
  • Claude 3系列模型深度解析与企业选型指南
  • 自己动手开发编译器(零)序言
  • 基于YOLOv12的葡萄叶病害智能识别系统开发实践
  • Langfuse:开源LLM应用监控工具实战指南
  • 基于Codex平台构建AI技能:自动化爆款内容分析与视频生成实战
  • UG95-A与PIC18F微控制器的3G通信解决方案