延迟实例化是否使用更少的代码但获得相同的结果?当然,这通常是一件好事(只要使代码简短/高效不会损害可读性/可维护性)。
请参考这个惰性实例化:
public sealed class Singleton
{
private Singleton()
{
}
public static Singleton Instance { get { return Nested.instance; } }
private class Nested
{
// Explicit static constructor to tell C# compiler
// not to mark type as beforefieldinit
static Nested()
{
}
internal static readonly Singleton instance = new Singleton();
}
}
没有私有属性Instance
(我知道它是隐含的) - 是不是让它变得懒惰 - 事实上我们在属性中没有设置器public static Singleton Instance
?