Crear instancias dinámicamente en C#

by Marc Cortada 16/08/2012

Para crear dinámicamente y en tiempo de ejecución una instancia de un objeto a partir del nombre de la clase que podríamos obtener, por ejemplo, desde una cadena de texto (string), podemos utilizar la siguiente instrucción en C#:

string nombreClaseEspecifica = "Namespace.NombreClase";
TipoGenerico tipo = (TipoGenerico)Activator.CreateInstance(Type.GetType(nombreClaseEspecifica));

Estas prácticas también se conocen como "reflection".

NOTA: Esta práctica solamente debe utilizarse en caso de no haber más alternativas. Suele ser de difícil mantenimiento (pej: localización de errores), genera un código de difícil comprensión y puede penalizar el rendimiento.

Tags:

Categorías: C# | Programación y desarrollo

No se aceptan más comentarios

Entradas por mes