Avatar ·

如何使用反射检查类型是否实现特定接口

大家好!我是一名C#初学者,在使用反射时遇到了问题。我有一个库,用户可以向其中传递自己的类。我需要动态检查传递的类型是否实现了特定接口,以便后续调用其方法。 以下是一个示例:有一个IPlugin接口和几个实现它的类。我通过Type.GetType("SomeClass")获取类型,并想检查这个类是否实现了IPlugin。我尝试过Type.IsAssignableFrom,但搞不清应该传递哪个类型。我还看到过GetInterfaces()方法,但不确定它是否是最佳解决方案。 以下是简化代码: ```csharp public interface IPlugin { void Execute(); } public class MyPlugin : IPlugin { public void Execute() { Console.WriteLine("Hello"); } } // 在运行时我获取类型: Type type = typeof(MyPlugin); // 如何检查type是否实现了IPlugin? ``` 请告诉我如何通过反射正确实现这一点?重要的是解决方案也要适用于泛型。