我经常会遇到具有使用以下模式的属性的对象:
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/