zoukankan      html  css  js  c++  java
  • c#延迟加载

        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);
                }  
  • 相关阅读:
    团购倒计时
    折半查找
    比较函数
    行为驱动开发: Cucumber的目录结构和执行过程 (转载)
    ruby 方法查找 and执行方法
    Rubyinstance_variable_get(@xx)
    Ruby 模块
    散列
    ruby webdriver 启动firefox driver时,加载firebug的扩展
    git使用简介
  • 原文地址:https://www.cnblogs.com/y112102/p/4670592.html
Copyright © 2011-2022 走看看