我对VB.NET没有太多经验,虽然我搜索过,但我找不到以下答案:
假设我有Dim myVar As MyClass
,然后是我打算初始化它的函数,例如Public Sub MyInit(ByRef myVar As MyClass)
。试图调用这个方法在编译器中给我一个空引用错误,说明我应该首先初始化该变量(但我打算将该功能放在我的方法中!)。
有关如何实现我在这里尝试的任何想法吗?
PS:我认为在Initialize()
中创建MyClass
方法或制作Public Function MyClassInitialize() As MyClass
更有意义,但在我的特定情况下,这是不可能的。< / p>
答案 0 :(得分:4)
如果您只是担心Variable 'myVar' is passed by reference before it has been assigned a value
警告,则可以将声明更改为Dim myVar as MyClass = Nothing
。
如果你正在写MyInit
子,你也可以把它变成一个返回MyClass
实例的函数:
Public Function MyInit() As MyClass
Dim myLocalVar As New MyClass()
'... initialization here
Return myLocalVar
End Function
...
Dim myVar As MyClass = MyInit()