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?