我想知道两个对象是否具有相同的类型。我试过了
if TypeOf X = TypeOf Y
和
if TypeOf X is TypeOf Y
但这些都不是有效的VB
有没有办法在一行中执行此操作,还是只需为每种可能的类型创建代码?
if (TypeOf X is Type1 AndAlso TypeOf Y is Type1)
OrElse (TypeOf X is Type2 AndAlso TypeOf Y is Type2)
...
答案 0 :(得分:1)
正如汉斯在评论中提到的,如果你需要检查两个对象是否完全相同,你可以这样做:
If x.GetType() = y.GetType() Then
但是,这可能不是你所需要的。如果你需要知道一个是否可以转换为另一个的类型(x是派生类的实例,y是其基类的实例),你可以这样做:
If x.GetType().IsAssignableFrom(y.GetType()) Then