Crea nuova istanza dal tipo in C#
Questa esercitazione discuterà i metodi per creare una nuova istanza di un determinato tipo di dati in fase di esecuzione in C#.
Crea una nuova istanza dal tipo con la classe Activator
in C#
Se vogliamo creare una nuova istanza di un tipo di dati in fase di esecuzione e non conosciamo il tipo di dati, possiamo utilizzare la classe Activator
e la classe Type
per raggiungere questo obiettivo. La classe Activator
fornisce metodi per creare istanze di oggetti da tipi in C#. Il metodo Activator.CreateInstance()
viene utilizzato per creare un’istanza di un tipo specificato con il costruttore che meglio si adatta al tipo specificato in C#. La classe Type
rappresenta un tipo di dati in C#. Possiamo usare la classe Type
per determinare il tipo di dati sconosciuto in questo scenario. Il seguente esempio di codice ci mostra come possiamo creare una nuova istanza di un tipo di dati in fase di esecuzione senza conoscere il tipo di dati usando la classe Activator
e la classe Type
in 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);
}
}
}
Produzione:
15
Nel codice sopra, abbiamo creato un’istanza del tipo int32
al runtime senza specificare il tipo di dati con il metodo Activator.CreateInstance()
in C#. All’inizio, abbiamo determinato il tipo della variabile i
con il metodo i.GetType()
in C#. Quindi, abbiamo creato un’istanza di quel tipo con il metodo Activator.CreateInstance()
. Il metodo Activator.CreateInstance()
trova automaticamente il miglior costruttore per il tipo di dati e crea un’istanza con esso. Abbiamo quindi inizializzato la nuova istanza n
con il valore 15
e l’abbiamo stampata.
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