gpt4 book ai didi

c# - 检查类是否派生自泛型类

转载 作者:IT王子 更新时间:2023-10-29 03:28:27 29 4
gpt4 key购买 nike

我的项目中有一个带有派生类的泛型类。

public class GenericClass<T> : GenericInterface<T>
{
}

public class Test : GenericClass<SomeType>
{
}

有什么方法可以查明 Type 对象是否派生自 GenericClass

t.IsSubclassOf(typeof(GenericClass<>))

不起作用。

最佳答案

试试这段代码

static bool IsSubclassOfRawGeneric(Type generic, Type toCheck) {
while (toCheck != null && toCheck != typeof(object)) {
var cur = toCheck.IsGenericType ? toCheck.GetGenericTypeDefinition() : toCheck;
if (generic == cur) {
return true;
}
toCheck = toCheck.BaseType;
}
return false;
}

关于c# - 检查类是否派生自泛型类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/457676/

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