variable usa tipo referencia por pero objeto metodos locales las inicializar implícito generico deben crear con como clases c# .net generics

c# - usa - Creando un objeto genérico basado en una variable Tipo



las variables locales con tipo implícito se deben inicializar (2)

Qué hacer si necesito llamar a una función de myObject como

Type type = typeof(MyObject<>).MakeGenericType(objectType); object myObject = Activator.CreateInstance(type); myobject.SetValue("1212");

Esta pregunta ya tiene una respuesta aquí:

Necesito crear un objeto genérico basado en un tipo que está almacenado en una base de datos. ¿Cómo puedo lograr esto? El siguiente código (que no se compilará) explica lo que quiero decir:

string typeString = GetTypeFromDatabase(key); Type objectType = Type.GetType(typeString); //This won''t work, but you get the idea! MyObject<objectType> myobject = new MyObject<objectType>();

¿Es posible hacer este tipo de cosas?

Gracias


Type type = typeof(MyObject<>).MakeGenericType(objectType); object myObject = Activator.CreateInstance(type);

También - cuidado; Type.GetType(string) solo verifica el ensamblado en ejecución y algunos ensamblados del sistema; no escanea todo Si usa un nombre calificado de ensamblador, debería estar bien; de lo contrario, es posible que deba obtener primero el Assembly y usar someAssembly.GetType(string) .