鸟语天空
System.Lazy
post by:追风剑情 2023-2-15 15:18

提供对延迟初始化的支持。

//不会执行new Test()
Lazy<Test> lazyTest = new Lazy<Test>(()=>new Test());
//当调用lazyTest.Value时,才会创建Test对象
lazyTest.Value.Fun();  

示例:延迟创建单例实例

using System;
using System.Threading;

public class SingletonLazy
{
    //延迟创建单例实例
    private static Lazy<SingletonLazy> _instance = new Lazy<SingletonLazy>(LazyThreadSafetyMode.ExecutionAndPublication);

    public static SingletonLazy GetInstance()
    {
        return _instance.Value;
    }
}  
评论:
发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容