检查并比较两个对象

海梅

我有一个 Buildable 抽象类,它继承了 House 和 Road 类。

我正在尝试对包含房屋和道路的可建造对象数组进行分类。

我知道我可以检查一个对象是否是这样的 Road:f(myBuildables[i] is Road)并且它工作得很好,但出于可伸缩性的原因,我想要一个包含从 Buildable 继承的类的数组。我尝试了一些东西,但显然它不起作用:class[] inheritTypes = { House, Road }

我也尝试了一组类型,Types[] buildableTypes = { typeOf(Hosue), typeOf(Road) }但我无法比较类型,因为typeOf(myBuildables[i])总是返回 Buildable 类型。

帕特里克·克鲁格

is检查实例但检查类型的等效功能Type.IsAssignableFrom( docs )。

在你的情况下:

if (typeof(House).IsAssignableFrom(obj.GetType()))
{
//obj is a house
}

因此,您可以将类型保存在数组中,然后根据该数组的内容动态地做出决定。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章