.net8 assembly.gettype 查找继承接口的类
时间: 2024-12-15 18:30:21 浏览: 12
在.NET 8 中,要通过`Assembly.GetTypes()`方法查找继承特定接口的类,你需要遍历`Assembly`对象中加载的所有类型,并检查它们是否实现了指定的接口。这里有一个简单的示例:
```csharp
// 假设我们想要查找继承于IYourInterface接口的所有类型
using System;
using System.Reflection;
interface IYourInterface { }
// 示例类型A实现IYourInterface接口
class TypeA : IYourInterface { }
// 示例类型B不实现IYourInterface接口
class TypeB { }
public class Program
{
public static void Main()
{
Assembly currentAssembly = typeof(Program).Assembly; // 获取当前程序集
foreach (Type type in currentAssembly.GetTypes())
{
if (type.IsSubclassOf(typeof(IYourInterface))) // 检查类型是否继承自IYourInterface
{
Console.WriteLine($"发现继承接口的类型: {type.FullName}");
}
}
}
}[^1]
```
这个代码会打印出所有在当前程序集中继承了`IYourInterface`接口的类型的全名。
阅读全文