我经常会遇到具有使用以下模式的属性的对象:

private decimal? _blah;
private decimal Blah
{
    get
    {
        if (_blah == null)
            _blah = InitBlah();
        return _blah.Value;
    }
}

这个方法有名字吗?

最佳答案

Lazy initialisation.

.NET 4到达时,将内置一个 Lazy<T> 类。

private readonly Lazy<decimal> _blah = new Lazy<decimal>(() => InitBlah());
public decimal Blah
{
    get { return _blah.Value; }
}

关于c# - 用于属性初始化的C#模式是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1882254/

10-16 03:37