Avatar ·

¿Cómo llamar a un método generic usando una variable Type en C#?

Hola a todos. Estoy escribiendo un pequeño parser que debe procesar diferentes tipos de datos, y me encontré con un problema que no puedo resolver desde hace dos días. Tengo un método generic: ```csharp public T Deserialize(string data) where T : class { // alguna lógica de deserialización return JsonConvert.DeserializeObject(data); } ``` En tiempo de ejecución, obtengo un `Type` del objeto que necesita ser deserializado. Por ejemplo, a través de reflexión encuentro todas las clases que implementan la interfaz `IEntity`, y para cada una quiero llamar a `Deserialize` con el tipo específico. El problema es que no puedo simplemente escribir `Deserialize(data)`, porque `myType` es una variable de tipo `Type`, no un nombre de tipo en tiempo de compilación. Intenté usar `typeof` y `MakeGenericMethod`, pero no me funciona nada. Aquí está mi código actual, que da un error: ```csharp Type targetType = typeof(MyClass); MethodInfo method = typeof(MyParser).GetMethod("Deserialize"); MethodInfo genericMethod = m