No, esta no es una pregunta acerca de los genéricos.Activator.CreateInstance (cadena) y Activator.CreateInstance <T>() diferencia
Tengo un patrón de fábrica con varias clases con constructores internos (no quiero que se creen instancias si no son de fábrica).
Mi problema es que CreateInstance
falla con un error "No se definió ningún constructor sin parámetros para este objeto" a menos que pase "verdadero" en el parámetro no público.
Ejemplo
// Fails
Activator.CreateInstance(type);
// Works
Activator.CreateInstance(type, true);
quería hacer la fábrica genérica para que sea un poco más simple, como esto:
public class GenericFactory<T> where T : MyAbstractType
{
public static T GetInstance()
{
return Activator.CreateInstance<T>();
}
}
Sin embargo, he podido encontrar la forma de pasar que la "verdadera" parámetro para aceptar constructores no públicos (internos).
¿Echo de menos algo o no es posible?
Por qué no definir un constructor sin parámetros con la variable booleana privada se define como true? – Vivek