代码改变世界

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

2015-02-12 13:57  Benoly  阅读(242)  评论(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