pre { /*控制代码不换行*/ white-space: pre; word-wrap: normal; }

C#中的延时加载Lazy(Of T)

.Net提供了一个叫Lazy<T>的对象,可以让我们很方便的延时创建大型或消耗资源的对象,可以很好的提高应用程序的性能。

如何实现呢?看下面代码:

class Program
{
    static void Main(string[] args)
    {
        Lazy<Test> lazy = new Lazy<Test>(); //封装要延时加载的对象
        Console.WriteLine("创建Lazy对象");
        Console.WriteLine("是否创建对象:" + lazy.IsValueCreated);
        lazy.Value.Run();   //调用对象中的方法
    }
}
 
public class Test
{
    public Test()
    {
        Console.WriteLine("创建Test对象");
    }
 
    public void Run()
    {
        Console.WriteLine("跑!");
    }
}

运行结果:

C#中的延时加载Lazy

默认设置下,这个类的所有成员都是线程安全的。我们可以很方便的使用这个类实现对某个对象的延迟加载。

posted @ 2011-08-26 22:41  monkey's  阅读(929)  评论(0编辑  收藏  举报