Comment vérifier si un type implémente une certaine interface en utilisant la réflexion en C#
Bonjour à tous ! Je suis un développeur C# débutant et j'ai un problème avec la réflexion. J'ai une bibliothèque où les utilisateurs peuvent passer leurs propres classes. Je dois vérifier dynamiquement si le type passé implémente une certaine interface, afin de pouvoir appeler ses méthodes.
Voici un exemple : il y a une interface IPlugin et plusieurs classes qui l'implémentent. J'obtiens le type via Type.GetType("SomeClass") et je veux vérifier si cette classe implémente IPlugin. J'ai essayé avec Type.IsAssignableFrom, mais je me trompe sur quel type passer. J'ai aussi vu la méthode GetInterfaces(), mais je ne suis pas sûr que ce soit la meilleure solution.
Voici un code simplifié :
```csharp
public interface IPlugin {
void Execute();
}
public class MyPlugin : IPlugin {
public void Execute() { Console.WriteLine("Hello"); }
}
// À l'exécution, j'obtiens le type :
Type type = typeof(MyPlugin);
// Comment vérifier que type implémente IPlugin ?
```
Dites-moi comment faire correctement avec la réflexion ? Il est important que la solution fonctionne aussi pour les génériques.