我对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
吗?
答案 0 :(得分:1)
Set
,正如您使用它一样,是在vb6 / vbscript日期遗留下来的。
它不再像VB.Net中的那样工作。你永远不会用它来分配。
您可能正在关注过时的教程。在VB.Net中,Set
仅用作LINQ查询的一部分。
Variant
类似。它根本不再是VB语言的一部分,并且已经超过10年了。