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

ノードが同じタイプであるかどうかを確認するにはどうすればよいですか。今はキャストして結果がnullかどうかを確認していますが、「Is」演算子を使用したいと思います。

4

2 に答える 2

7

Visual BasicのIs演算子は、( C#のis演算子とは異なり)オブジェクトのタイプではなく、2つのオブジェクト変数が同じ実際のオブジェクトインスタンスを参照しているかどうかを示します。

Is演算子は、2つのオブジェクト参照が同じオブジェクトを参照しているかどうかを判別します

これは、オブジェクトが特定のタイプであるかどうかを教えてくれません。

タイプを比較するには、次を使用します。

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

VBのIs演算子isは、C#のように、オブジェクトが特定のタイプであるかどうかをチェックしません。C#と同じ役割を果たしReferenceEquals()ます。

于 2012-10-05T20:08:42.610 に答える