gpt4 book ai didi

c# - 使用在运行时定义类型的 'is'

转载 作者:行者123 更新时间:2023-11-30 13:09:37 26 4
gpt4 key购买 nike

谁能帮帮我?我不知道我做错了什么,但似乎会有一个简单的解决方案:

通常你可以像这样使用is:

if (theObject is MyClass) ...

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

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

我试过这样做:

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

但这只有在 theType 是那个确切的类型并且没有像 is 语句那样考虑继承的情况下才有效

我确信存在一个解决方案(可能使用泛型)但我现在想不出一个(它是那种你在点击“发布”的那一刻突然想起如何做的事情)

最佳答案

听起来你想要IsAssignableFrom() ,如

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

关于c# - 使用在运行时定义类型的 'is',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3496328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com