c#延迟加载
2015-07-23 15:20
579 查看
public class BlogUser { public int Id { get; private set; } public Lazy<List<Article>> Articles { get; private set; } public BlogUser(int id) { this.Id = id; Articles = new Lazy<List<Article>>(() => 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; } }
main
BlogUser blogUser = new BlogUser(1); Console.WriteLine("blogUser has been initialized"); foreach (var article in blogUser.Articles.Value) { Console.WriteLine(article.Title); }
相关文章推荐
- c#的中英文混合字符串截取 public static string SubString(string inputString, int byteLength)
- c#的中英文混合字符串截取指定长度,startidx从0开始
- 浅谈C#中Control的Invoke与BeginInvoke在主副线程中的执行顺序和区别
- C# 加密解密(DES,3DES,MD5,Base64) 类
- C#文件的处理
- c# 时间戳转换
- Sublime Text 3 (含:配置 C# 编译环境)
- C#高级编程五十天----栈
- C#集合总结
- C# 截取中英文混合字符串分行显示宽度相同
- 在用c#进行c语言的编程题时,保持运行的窗口能停留的方法
- C# 创建快捷方式
- C#截取中英文混合字符串分行显示
- C#截取指定长度中英文字符串方法 (修改)
- C#Socket多线程通信(聊天室)
- .Net学习笔记----2015-07-23(C#基础复习11,字符串复习)
- c#使用正则表达式
- C#之IO读写文件方法封装代码
- C# WinForm动态调用远程Web服务
- c#高级编程第七版 学习笔记 第一章 .NET体系结构