懒加载是指使用更少的代码来获得相同的结果吗?这通常是一个好习惯(前提是简化/优化代码不会影响可读性和可维护性)。
请参考以下懒加载示例:
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
属性中没有设置器吗?
Lazy<T>
?看一下这篇文章:msdn: lazy initialization - Tim SchmelterLazy<Singleton>
:https://dev59.com/OGw15IYBdhLWcg3wFHpZ#6847882 - Tim Schmelter