初始化对象ByRef

时间:2014-05-13 19:35:55

标签: vb.net initialization byref

我对VB.NET没有太多经验,虽然我搜索过,但我找不到以下答案:

假设我有Dim myVar As MyClass,然后是我打算初始化它的函数,例如Public Sub MyInit(ByRef myVar As MyClass)。试图调用这个方法在编译器中给我一个空引用错误,说明我应该首先初始化该变量(但我打算将该功能放在我的方法中!)。

有关如何实现我在这里尝试的任何想法吗?

PS:我认为在Initialize()中创建MyClass方法或制作Public Function MyClassInitialize() As MyClass更有意义,但在我的特定情况下,这是不可能的。< / p>

1 个答案:

答案 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()