c# - 检查对象的实际类型

标签 c#

<分区>

我有:

A 类 B 类:A C 类:B D 类:B

我有一个列表

存储 C 和 D 的实际对象的位置。

如何检查List中的对象是否是B的子类型?

目前,我正在做 item.GetType() == typeof(C) || item.GetType() == typeof(D)

这行得通,但是如果我有 2 个以上的类继承自 B 怎么办?把它们都写下来似乎是多余的。有没有办法检查对象是否是 B 的子类型?谢谢!

最佳答案

您可以使用 is 关键字。

if(item is B)

引用:http://msdn.microsoft.com/en-us/library/scekt9xw.aspx

关于c# - 检查对象的实际类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23647378/

相关文章:

c# - 无法将 'System.TimeSpan?' 隐式转换为 'System.TimeSpan'

c# - 使用 SQL Server CE 的内存/性能

c# - 通过 C# 创建帐户时执行 Active Directory 密码策略

c# - 如何在 C# 中比较字典列表的相等性

c# - 从基类一般初始化派生类字段的可靠方法?

c# - 如何在 winforms 应用程序的主屏幕显示之前显示欢迎屏幕?

C# Windows 应用程序 - 许多线程使用相同的连接?

c# - 如何激发对共享资源的同时访问?

c# - 使用正则表达式有效地测试 "EndsWith"

java - 无法在 Unity3D 中调用 native Android 代码