C#:如何检查两个实例的类型

标签 c# inheritance types

我在获取正确的语法时遇到了问题。

假设我有两个实例化对象,obj1 和 obj2。

现在,我想检查两件事:

1) obj1 的类型是否是 obj2 类型的子类

2) obj1 的类型是否与 obj2 的类型相同

我很确定我可以通过这样做来实现 1)

obj1.GetType().IsSubclassOf(obj2.GetType())

但是如果 obj1 和 obj2 是同一类型,上面会返回 true 吗?

最佳答案

MSDN 说如果 obj1 和 obj2 是同一个类,它将返回 false http://msdn.microsoft.com/en-us/library/system.type.issubclassof.aspx

你可以这样做

obj1.GetType().IsSubclassOf(obj2.GetType()) || obj1.GetType() == (obj2.GetType()

关于C#:如何检查两个实例的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4093960/

相关文章:

c# - 无法使用权​​限 'xxxxx.com' 为 SSL/TLS 建立安全通道

c# - 是否应在 Web 应用程序中禁用 Entity Framework 延迟加载?

C++用参数重载友元类函数参数

types - 将IplImage类型IPL_LABEL转换为IplImage类型IPL_DEPTH_8U

存储在表中的类型的 Postgresql 返回变量

c# - 测试 Web 服务流量的免费工具?

c# - 如何处理Asp.Net MVC中Global.asax文件内的引发错误

c# - Fluent NHibernate 两级继承问题

Ruby 自定义错误类 : inheritance of the message attribute

mysql - mysql中长utf8字符串的理想数据类型