Cómo verificar si un tipo implementa una interfaz específica usando reflexión en C#
¡Hola a todos! Soy un desarrollador principiante de C# y tengo un problema con la reflexión. Tengo una biblioteca donde los usuarios pueden pasar sus propias clases. Necesito verificar dinámicamente si el tipo pasado implementa una interfaz específica para luego llamar a sus métodos.
Aquí hay un ejemplo: hay una interfaz IPlugin y varias clases que la implementan. Obtengo el tipo a través de Type.GetType("SomeClass") y quiero verificar si esta clase implementa IPlugin. Probé con Type.IsAssignableFrom, pero me confundo sobre qué tipo pasar. También vi el método GetInterfaces(), pero no estoy seguro de que sea la mejor solución.
Aquí está el código simplificado:
```csharp
public interface IPlugin {
void Execute();
}
public class MyPlugin : IPlugin {
public void Execute() { Console.WriteLine("Hello"); }
}
// En runtime obtengo el tipo:
Type type = typeof(MyPlugin);
// ¿Cómo verifico que type implementa IPlugin?
```
Indíquenme cómo hacerlo correctamente con reflexión. Es importante que la solución funcione también para tipos genéricos.