我有一个属性,其getter方法应该只在第一次加载其值。第二次调用时,它会返回已加载的值而不会再次加载:
private Object _MemberValue;
public Object MemberValue
{
get
{
if(_MemberValue == null)
{
_MemberValue = LoadMember();
}
return _MemberValue;
}
}
在VB.NET中,有一个名为
Static
的关键字。使用它时,您无需声明类级成员。Public Property MemberValue as Object
Get
Static value as Object = Nothing
If (value is Nothing) Then
value = LoadMember()
End If
Return value
End Get
End Property
C# 中没有这样的关键字。
是否有更好的 C# 实现该问题或其他模式?
Lazy<>
类时的相关问题。https://dev59.com/OGw15IYBdhLWcg3wFHpZ - David Culp