在C#中,可以使用惰性初始化(Lazy Initialization)模式来实现方法的延迟初始化。惰性初始化是指在第一次访问某个对象时,才对其进行实例化。这可以避免在程序启动时就占用大量资源。在C#中,可以使用Lazy<T>
类来实现惰性初始化。
下面是一个使用Lazy<T>
实现方法延迟初始化的示例:
using System;
using System.Threading;
class Program
{
// 使用Lazy<T>实现惰性初始化
private static readonly Lazy<MyClass> _lazyInstance = new Lazy<MyClass>(() => new MyClass());
static void Main(string[] args)
{
// 第一次访问_lazyInstance.Value,将实例化MyClass
MyClass instance = _lazyInstance.Value;
instance.DoSomething();
// 第二次访问_lazyInstance.Value,将直接返回已实例化的MyClass,不会再次实例化
instance.DoSomethingElse();
}
}
class MyClass
{
public void DoSomething()
{
Console.WriteLine("DoSomething called.");
}
public void DoSomethingElse()
{
Console.WriteLine("DoSomethingElse called.");
}
}
在这个示例中,我们使用Lazy<MyClass>
来实现MyClass
的惰性初始化。当第一次访问_lazyInstance.Value
时,将实例化一个新的MyClass
对象。在后续的访问中,将直接返回已实例化的MyClass
对象,而不会再次实例化。这样可以避免在程序启动时就占用大量资源。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。