相关疑难解决方法(0)

何时创建Visual Basic中的静态变量?

假设我在函数中有一个静态变量:

Private Sub SomeFunction()
    Static staticVar As String = _myField.Value
End Sub
Run Code Online (Sandbox Code Playgroud)

确切地说,_myField分配给staticVar的值是什么时候?第一次打电话给这个功能?封闭类的实例化?

vb.net

5
推荐指数
2
解决办法
1万
查看次数

加载属性延迟加载

我有一个属性,getter应该只在第一次加载它的值.第二次返回加载的值而不再加载它:

private Object _MemberValue;

public Object MemberValue
{
    get
    {
        if(_MemberValue == null)
        {
            _MemberValue = LoadMember();
        }

        return _MemberValue;
    }
}
Run Code Online (Sandbox Code Playgroud)

在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
Run Code Online (Sandbox Code Playgroud)

在C#中没有这样的关键字.

是否有更好的C#实现此问题或其他模式?

c# vb.net design-patterns lazy-evaluation

4
推荐指数
1
解决办法
3821
查看次数

标签 统计

vb.net ×2

c# ×1

design-patterns ×1

lazy-evaluation ×1