私はgetterが最初にその値を読み込むべきプロパティを持っています。二回目は、それは再びそれをロードせずにロードされた値を返す:VB.NETでロードプロパティの遅延読み込み
private Object _MemberValue;
public Object MemberValue
{
get
{
if(_MemberValue == null)
{
_MemberValue = LoadMember();
}
return _MemberValue;
}
}
が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#実装が優れていますか?
[ 'Static'が悪い使用して理由を読み推奨。](http://stackoverflow.com/a/7475348/993547) –
レイジーオブジェクトをチェックしてください – Nkosi
最初のスニペットで何が問題になっていますか? –