代码改变世界

[整理].net中的延迟初始化器

2015-02-12 13:57  Benoly  阅读(247)  评论(0)    收藏  举报

LazyInitializer类

private void EnsureInitialized()
{
LazyInitializer.EnsureInitialized(ref _initializationTarget, ref _initialized, ref _initializationLock, () =>
{
Initialize();
return null;
});
}

常会见到类似的延迟加载的代码,.net4.0中新提供了LazyInitializer、 Lazy等对象来实现延迟初始化和延迟加载。
具体参见
https://msdn.microsoft.com/zh-cn/library/dd997286.aspx
https://msdn.microsoft.com/zh-cn/library/system.threading.lazyinitializer.aspx