gpt4 book ai didi

c# - 检查 'T'是否继承或实现了一个类/接口(interface)

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

有没有办法测试 T 是否继承/实现了一个类/接口(interface)?

private void MyGenericClass<T> ()
{
if(T ... inherits or implements some class/interface
}

最佳答案

有一个方法叫Type.IsAssignableFrom() .

检查 T 是否继承/实现 Employee:

typeof(Employee).IsAssignableFrom(typeof(T));

如果您的目标是 .NET Core,该方法已移至 TypeInfo:

typeof(Employee).GetTypeInfo().IsAssignableFrom(typeof(T).Ge‌​tTypeInfo())

请注意,如果您想限制您的类型 T 以实现某些接口(interface)或继承某些类,您应该寻求@snajahi 的答案,它使用编译时检查并且通常类似于解决这个问题的更好方法。

关于c# - 检查 'T'是否继承或实现了一个类/接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10718364/

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