Comment appeler une méthode générique en utilisant une variable Type obtenue à l'exécution ?
Bonjour à tous ! J'écris une application en C# et j'ai rencontré un problème que je n'arrive pas à résoudre depuis plusieurs heures. J'ai une méthode générique qui accepte n'importe quel type de données et exécute une certaine logique avec, par exemple la sérialisation. Elle ressemble à ceci :
```csharp
public T Deserialize(string jsonData)
{
return JsonSerializer.Deserialize(jsonData);
}
```
Le problème est que le type avec lequel je veux appeler cette méthode, je l'obtiens **uniquement à l'exécution** — il se trouve dans une variable `Type myType`. Par exemple, je charge un assembly, j'y trouve des classes et je veux désérialiser du JSON pour chacune d'elles, mais je ne connais le type que comme un objet `Type`.
J'ai essayé de faire ceci :
```csharp
Type myType = typeof(MyClass); // Je l'obtiens dynamiquement
var result = Deserialize(jsonString); // Erreur de compilation !
```
Le compilateur, naturellement, se plaint : "myType is a variable but is used like a type". Je comprends que l'argument générique doit être connu à la compilation, mais comment dois-je procéder dans ce cas ?