“设置”和显式“变体”语句弃用?

时间:2013-11-23 18:05:22

标签: vb.net visual-studio-2010

我对VB编程比较陌生,所以请耐心等待我的挫折。

我试图在Visual Studio 2010 Ultimate中使用VB声明一个类,我正在跟随一个教程,但是Intellisense一直在搞乱我的代码。这是我想写的内容:

Import HYSYS

Dim myVar As Variant
...
Public Class MyClassVB1
    Dim hyContainer As Object
    Public Function Initialize(ByVal Container As Object, ByVal IsRecalling As Boolean) As Long
        Set hyContainer = Container
    End Function

但是,Visual Studio将我的代码转换为:

Import HYSYS

Dim myVar As VariantType
...
Public Class MyClassVB1
    Dim hyContainer As Object
    Public Function Initialize(ByVal Container As Object, ByVal IsRecalling As Boolean) As Long
        SetAttr() hyContainer = Container
    End Function

在与Visual Studio争论一段时间之后,我终于得到了消息不再支持Let和Set赋值语句。

我是否应该使用替代品,或者如果我没有明确指定类型,Visual Studio是否只是假设我是Variant

同样,我是否需要使用关键字或函数进行变量赋值,或者我可以像在c ++中那样对待它并只写hyContainer = Container吗?

1 个答案:

答案 0 :(得分:1)

Set,正如您使用它一样,是在vb6 / vbscript日期遗留下来的。

它不再像VB.Net中的那样工作。你永远不会用它来分配。

您可能正在关注过时的教程。在VB.Net中,Set仅用作LINQ查询的一部分。

Variant类似。它根本不再是VB语言的一部分,并且已经超过10年了。