Crear nueva instancia a partir del tipo en C#
Este tutorial discutirá los métodos para crear una nueva instancia de un tipo de datos dado en tiempo de ejecución en C#.
Cree una nueva instancia a partir del tipo con la clase Activator
en C#
Si queremos crear una nueva instancia de un tipo de datos en tiempo de ejecución y no conocemos el tipo de datos, podemos usar la clase Activator
y la clase Type
para lograr este objetivo. La clase Activator
proporciona métodos para crear instancias de objetos a partir de tipos en C#. El método Activator.CreateInstance()
se utiliza para crear una instancia de un tipo especificado con el constructor que mejor se adapta al tipo especificado en C#. La clase Type
representa un tipo de datos en C#. Podemos usar la clase Type
para determinar el tipo de datos desconocido en este escenario. El siguiente ejemplo de código nos muestra cómo podemos crear una nueva instancia de un tipo de datos en tiempo de ejecución sin conocer el tipo de datos usando la clase Activator
y la clase Type
en C#.
using System;
namespace new_object_from_type {
class Program {
static void Main(string[] args) {
int i = 123;
Type t = i.GetType();
Object n = Activator.CreateInstance(t);
n = 15;
Console.WriteLine(n);
}
}
}
Producción :
15
En el código anterior, creamos una instancia del tipo int32
en el tiempo de ejecución sin especificar el tipo de datos con el método Activator.CreateInstance()
en C#. Al principio, determinamos el tipo de variable i
con el método i.GetType()
en C#. Luego, creamos una instancia de ese tipo con el método Activator.CreateInstance()
. El método Activator.CreateInstance()
encuentra automáticamente el mejor constructor para el tipo de datos y crea una instancia con él. Luego inicializamos la nueva instancia n
con el valor 15
y la imprimimos.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn