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”运算符。

4

2 回答 2

7

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

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

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

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

If TypeOf node Is EquipmentNode Then
于 2012-10-05T20:07:36.497 回答
2

VB 中的Is运算符不像isC# 那样检查对象是否属于某种类型,它与 C# 的ReferenceEquals().

于 2012-10-05T20:08:42.610 回答