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.