Visual Basic - Is 运算符

4
Public Class EquipmentNode
 '...
End Class

Private Sub DoWork()
 Dim node As TreeNode = _contextNode

 If node is EquipmentNode ' Does not work
 if node is TypeOf EquipmentNode ' Does not work
End Sub

如何判断节点是否为同一类型。目前我只是将其强制转换并查看结果是否为空,但我想利用“Is”运算符。

2个回答

7

Visual Basic Is Operator(不像C#的is运算符)不会告诉您有关对象的类型,而是告诉您两个对象变量是否引用同一实际对象实例。

Is运算符确定两个对象引用是否指向同一个对象

这不会告诉您对象是否为特定类型。

要比较类型,您可以使用:

If TypeOf node Is EquipmentNode Then

啊,好的。我以为它和C#一样。 - contactmatt

2
在VB中,Is运算符与C#中的is不同,它不会检查一个对象是否为特定类型,而是与C#的ReferenceEquals()执行相同的操作。请注意保留HTML标签。

1
这并不是C#的ReferenceEquals,而是.NET的ReferenceEquals。 - Zev Spitz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接