C# 4.0 延迟加载 Lazy<>用法
来源:互联网 发布:软件培训可靠吗 编辑:程序博客网 时间:2024/06/07 02:38
C# 4.0 延迟加载 Lazy<>用法
class Program
{
static void Main(string[] args)
{
BlogUser blogUser = new BlogUser(1);
Console.WriteLine("blogUser has been initialized");
//使用延迟加载
foreach (var article in blogUser.Articles.Value)
//不使用延迟加载,要做比较将下面注释放开,上面那句注释即可
//foreach (var article in blogUser.Articles)
{
Console.WriteLine(article.Title);
}
Console.Read();
}
}
public class BlogUser
{
public int Id { get; private set; }
//使用延迟加载
public Lazy<List<Article>> Articles { get; set; }
//不使用延迟加载,要做比较将下面注释放开,上面那句注释即可
//public List<Article> Articles { get; set; }
public BlogUser(int id)
{
this.Id = id;
//使用延迟加载
Articles = new Lazy<List<Article>>(() => ArticleServices.GetArticesByID(id));
//不使用延迟加载,要做比较将下面注释放开,上面那句注释即可
//Articles = ArticleServices.GetArticesByID(id);
Console.WriteLine("BlogUser Initializer");
}
}
public class Article
{
public int Id { get; set; }
public string Title { get; set; }
public DateTime PublishDate { get; set; }
}
public class ArticleServices
{
public static List<Article> GetArticesByID(int blogUserID)
{
List<Article> articles = new List<Article> {
new Article{Id=1,Title="Lazy Load",PublishDate=DateTime.Parse("2011-4-20")},
new Article{Id=2,Title="Delegate",PublishDate=DateTime.Parse("2011-4-21")},
new Article{Id=3,Title="Event",PublishDate=DateTime.Parse("2011-4-22")},
new Article{Id=4,Title="Thread",PublishDate=DateTime.Parse("2011-4-23")}
};
Console.WriteLine("Article Initalizer");
return articles;
}
}
- C# 4.0 延迟加载 Lazy<>用法
- hibernate lazy延迟加载
- lazy 延迟加载策略
- 【Hibernate】lazy延迟加载
- C# 基础概念之延迟加载 Lazy<T>
- hibernate lazy(延迟加载)
- lazy loading(延迟加载)
- hibernate lazy(延迟加载)
- Hibernate之lazy延迟加载
- C# 延迟执行:Lazy<T>
- lazy懒加载(延迟加载)UITableView
- Lazy懒加载(延迟加载)UITableView
- lazy懒加载(延迟加载)UITableView
- lazy懒加载(延迟加载)UITableView
- lazy懒加载(延迟加载)UITableView
- lazy懒加载(延迟加载)UITableView
- lazy懒加载(延迟加载)UITableView
- Lazy懒加载(延迟加载)UITableView
- Poco 单元测试工具使用 for windows
- Ubuntu_11.40_server修改mysql的root用户密码
- AOP技术基础
- C Extending or ctypes in pyinotify
- wince6.0添加外部字体库
- C# 4.0 延迟加载 Lazy<>用法
- 流年,经不起怀念
- 内核链表实现分析与使用
- 最新九月百度人搜,阿里巴巴,腾讯华为京东面试二十题(更新至09.19)
- 数学之美番外篇:平凡而又神奇的贝叶斯方法(2)——刘未鹏
- java IO(应用篇)
- 用qemu-system-arm搭建arm11环境
- centos6.2 安装总结:
- C#ListBox用法