延迟加载类

 1     public class LazyLoader<TModel> where TModel:class
 2     {
 3         TModel _data;
 4         Func<TModel> _loadDataFunc = null;
 5         bool _loaded = false;
 6         public LazyLoader():this(null){ }
 7         public LazyLoader(Func<TModel> loadDataFunc) 
 8         {
 9             _loadDataFunc = loadDataFunc;
10             _data = null;
11             _loaded = false;
12         }
13         public TModel QueryData() 
14         {
15             if (!_loaded && _loadDataFunc != null)
16             {
17                 _data = _loadDataFunc();
18             }
19             return _data;
20         }
21         public void SetData(TModel value) 
22         {
23             _data = value;
24             _loaded = true;
25         }
26     }
LazyLoader

相关文章:

  • 2022-12-23
  • 2021-04-29
  • 2021-11-28
  • 2021-11-28
  • 2021-11-28
  • 2021-11-28
  • 2021-11-28
  • 2021-12-14
猜你喜欢
  • 2022-03-03
  • 2021-12-04
  • 2021-11-17
相关资源
相似解决方案