//自己山寨。
public class YaLazy<T>
{
private bool _isValueCreated = false;
public bool IsValueCreated
{
get
{
return _isValueCreated;
}
}
private T _value;
public T Value
{
get
{
if (this._value != null)
{
return (T)_value;
}
return CreateValue(); }
}
private T CreateValue()
{
_isValueCreated = true;
_value = (T)Activator.CreateInstance(typeof(T));
return _value;
}
}

使用方法和Lazy<T>类似:

YaLazy<Student> student2 = new YaLazy<Student>();
Console.WriteLine(student2);
student2.Value.ID = ;
student2.Value.Name = "New";
Console.WriteLine(student2);

----------------------

或者使用官方用法:

Lazy<Student> student = newLazy<Student>();
Console.WriteLine(student);
student.Value.ID = ;
student.Value.Name = "New";
Console.WriteLine(student);

延迟初始化Student:我们在Console.WriteLine(student);  一行设置断点查看,发现IsValueCreated是false ,Value值是null。

最新文章

  1. js定位
  2. ZOJ Problem Set - 1006 Do the Untwist
  3. SSM——(二):easyUI的CRUD
  4. matlab中的数据结构
  5. centos7安装数据库
  6. Inversion of Control Containers and the Dependency Injection pattern(转)
  7. GL_GL系列 - 预算管理分析(案例)
  8. Struts2基本包作用详解
  9. IntellijIDEA 使用技巧
  10. 用JvisualVM监视远程tomcat
  11. [置顶] LLVM每日谈之十五 LLVM自带的examples
  12. test maekdown 2
  13. [10] 过滤器 Filter
  14. Angular开发技巧
  15. 折腾Java设计模式之单例模式
  16. redis_字典_哈希hash
  17. Mybatis(二)总结
  18. sysctl命令
  19. [Hinton] Neural Networks for Machine Learning - Hopfield Nets and Boltzmann Machine
  20. php session (二): 同样的代码 ,不同域名访问 对session存储的影响.

热门文章

  1. javascript callee和caller
  2. JS获取url传参
  3. Thread 1 cannot allocate new log的问题分析 (转载)
  4. 用Dockerfile生成docker image
  5. 腾讯优图&amp;港科大提出一种基于深度学习的非光流 HDR 成像方法
  6. 3.2_k-近邻算法案例分析
  7. indy字符编码
  8. Linux下类似windows下_beginthread和_endthread 的多线程开发
  9. AJAX是什么?
  10. 【338】Pandas.DataFrame