Lazy.NET
.NET 4.0里,在System名稱空間中多了一個名為Lazy<T>新泛型類,該類的作用正如其名稱所示。下面給出了一個使用的例子:
1?var?lazy?=?new?Lazy<IList<OrderRow>>(
2?????()?=>
3?????{
4??????????var?rows?=?//get?order?rows;
5??????????return?rows;
6?????});
7?
8?var?rows?=?lazy.Value;
9?
Lazy<T>的構(gòu)造函數(shù)接受一個Func<T>類型的參數(shù),傳遞給構(gòu)造函數(shù)的Func<T>參數(shù) - 是一個(匿名)方法),在調(diào)用Lazy<T>類型的實例的Value屬性值時才會實際執(zhí)行,并且在此后再取Value屬性值時不再執(zhí)行(第一次執(zhí)行的結(jié)果將被緩存起來),而是直接返回緩存的結(jié)果。
轉(zhuǎn)載于:https://www.cnblogs.com/hackee/archive/2009/11/13/1602251.html
總結(jié)
- 上一篇: ASP.NET运行原理
- 下一篇: Enterprise Architect