Avatar ·

Como chamar um método genérico usando uma variável Type obtida em tempo de execução?

Olá a todos! Estou escrevendo uma aplicação em C# e me deparei com um problema que não consigo resolver há várias horas. Tenho um método genérico que aceita qualquer tipo de dado e executa alguma lógica com ele, por exemplo, serialização. Ele se parece com isso: ```csharp public T Deserialize(string jsonData) { return JsonSerializer.Deserialize(jsonData); } ``` O problema é que o tipo com o qual quero chamar este método, eu obtenho **apenas em tempo de execução** — ele está armazenado na variável `Type myType`. Por exemplo, carrego um assembly, encontro classes nele e quero desserializar JSON para cada uma delas, mas conheço o tipo apenas como um objeto `Type`. Tentei fazer assim: ```csharp Type myType = typeof(MyClass); // Isso eu obtenho dinamicamente var result = Deserialize(jsonString); // Erro de compilação! ``` O compilador, naturalmente, reclama: "myType is a variable but is used like a type". Eu entendo que o argumento genérico deve ser conhecido em tempo de compilação, mas como devo proceder nessa situação?