Avatar ·

Como verificar se um tipo implementa uma interface específica usando reflexão em C#

Olá a todos! Sou um desenvolvedor C# iniciante e tive um problema com reflexão. Tenho uma biblioteca onde os usuários podem passar suas próprias classes. Preciso verificar dinamicamente se o tipo passado implementa uma interface específica para depois chamar seus métodos. Aqui está um exemplo: existe uma interface IPlugin e várias classes que a implementam. Eu obtenho o tipo através de Type.GetType("SomeClass") e quero verificar se essa classe implementa IPlugin. Tentei usar Type.IsAssignableFrom, mas fico confuso sobre qual tipo passar. Também vi o método GetInterfaces(), mas não tenho certeza se é a melhor solução. Aqui está um código simplificado: ```csharp public interface IPlugin { void Execute(); } public class MyPlugin : IPlugin { public void Execute() { Console.WriteLine("Hello"); } } // Em runtime, obtenho o tipo: Type type = typeof(MyPlugin); // Como verificar se type implementa IPlugin? ``` Alguém pode me dizer como fazer isso corretamente usando reflexão? É importante que a solução funcione também para tipos genéricos.