c# – 使用’is’,其中类型是在运行时定义的

c# – 使用’is’,其中类型是在运行时定义的,第1张

概述谁能帮我?我无法弄清楚我做错了什么,但似乎会有一个简单的解决方案: 通常你可以使用是这样的: if (theObject is MyClass) ... 但是如果你想指定它在运行时检查的类型,那么就不会编译 Type theType = ...if (theObject is theType) ... 我试过这样做: if (theObject.GetType() == theType) ... 谁能帮我?我无法弄清楚我做错了什么,但似乎会有一个简单的解决方案:

通常你可以使用是这样的:

if (theObject is MyClass) ...

但是如果你想指定它在运行时检查的类型,那么就不会编译

Type theType = ...if (theObject is theType) ...

我试过这样做:

if (theObject.GetType() == theType) ...

但是只有当Type是那种确切的类型并且没有像is语句那样考虑继承时才有效

我确定存在一个解决方案(可能使用泛型)但我现在想不到一个解决方案(它突然记得你点击’发布’时如何做的事情)

解决方法 听起来你想要 IsAssignableFrom(),就像在

if (theType.IsAssignableFrom(theObject.GetType())) ...
总结

以上是内存溢出为你收集整理的c# – 使用’is’,其中类型是在运行时定义的全部内容,希望文章能够帮你解决c# – 使用’is’,其中类型是在运行时定义的所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1225543.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存