c# - 将泛型 T 的类型解析为 C# 中的特定接口(interface)

标签 c# generics types

我想找到通用 T 的类型并进行比较,以在运行时检查它是哪个接口(interface)。

因此,这适用于在运行时查找 T 的类型:

Type interfaceName = typeof(T); // gives me the specific interface type

但是当我尝试检查它是否等于接口(interface)的类型时,我没有得到预期的响应。

Type.GetType("IMyInterface"); //this returns null

如何比较这两者?

最佳答案

如果要使用Type.GetType,则需要传递assembly-qualified name .

但是,看起来您只想检查接口(interface)的名称,因此您可以简单地使用

Type interfaceType = typeof(T);
string interfaceName = interfaceType.Name;

您还可以简单地检查是否typeof(T) == typeof(IMyInterface)

关于c# - 将泛型 T 的类型解析为 C# 中的特定接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25746982/

相关文章:

c#反序列化json为List

java - 具有相同删除的两种方法不一定是等效的(或者它们之间的签名不是子签名)?

c++ - 如何在 C++ 中实现公式模式?

typescript - 如何为通用可选函数参数获得正确的类型推断?

c# - 如何使用 csc(C# 编译器)或 dmcs(mono C# 编译器)生成 IL 源代码?

c# - 在 C# 中使用第三方代码

c# - 从 C++、反向 P/Invoke、混合模式 DLL 和 C++/CLI 调用 C#

c# - 通过扩展类将 Entity Framework 对象变成泛型类?

scala - 如何在 Scala 中使用泛型类型指定泛型类型的绑定(bind)?

具有通用参数类型的 Swift 函数