c# – 使用’is’,其中类型是在运行时定义的
发布时间:2020-12-15 19:59:13 所属栏目:百科 来源:网络整理
导读:谁能帮我?我无法弄清楚我做错了什么,但似乎会有一个简单的解决方案: 通常你可以使用是这样的: if (theObject is MyClass) ... 但是如果你想指定它在运行时检查的类型,那么就不会编译 Type theType = ...if (theObject is theType) ... 我试过这样做: if
谁能帮我?我无法弄清楚我做错了什么,但似乎会有一个简单的解决方案:
通常你可以使用是这样的: if (theObject is MyClass) ... 但是如果你想指定它在运行时检查的类型,那么就不会编译 Type theType = ... if (theObject is theType) ... 我试过这样做: if (theObject.GetType() == theType) ... 但是只有当Type是那种确切的类型并且没有像is语句那样考虑继承时才有效 我确定存在一个解决方案(可能使用泛型)但我现在想不到一个解决方案(它突然记得你点击’发布’时如何做的事情) 解决方法
听起来你想要
IsAssignableFrom(),就像在
if (theType.IsAssignableFrom(theObject.GetType())) ... (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |