Heim > Backend-Entwicklung > C++ > Wie kann ich eine generische Typinstanz mithilfe einer Variablen erstellen, die den Typ enthält?

Wie kann ich eine generische Typinstanz mithilfe einer Variablen erstellen, die den Typ enthält?

Patricia Arquette
Freigeben: 2025-01-13 06:26:42
Original
926 Leute haben es durchsucht

How Can I Create a Generic Type Instance Using a Variable Holding the Type?

Erstellen Sie eine generische <T>-Typinstanz mithilfe einer Variablen, die den Typ

enthält

Das Erstellen einer Instanz eines generischen Typs mithilfe einer Variablen, die den Typ enthält, ist eine nützliche Technik in Szenarien wie der dynamischen Generierung von Typinformationen. Während der in der Frage angegebene Code, der versucht, eine List<k>-Instanz zu erstellen (wobei k eine Variable vom Typ Type ist), möglicherweise nicht kompiliert werden kann, gibt es andere Möglichkeiten, diese Funktionalität zu erreichen.

Eine mögliche Lösung besteht darin, die Methode MakeGenericType für die generische Typdefinition zu verwenden. Diese Methode akzeptiert eine Reihe von Typparametern und gibt einen neuen Typ zurück, der eine Version des generischen Typs ist, der mithilfe dieser Parameter instanziiert wurde. In diesem Fall würde der Code so aussehen:

<code class="language-csharp">var genericListType = typeof(List<>);
var specificListType = genericListType.MakeGenericType(typeof(double));</code>
Nach dem Login kopieren

genericListType-Variablen enthalten Definitionen generischer List<T>-Typen, und MakeGenericType-Methoden geben spezialisierte List<double>-Typen zurück.

Nachdem Sie einen bestimmten generischen Typ erstellt haben, können Sie die Klasse Activator verwenden, um Instanzen zu erstellen. Die CreateInstance-Methode kann verwendet werden, um basierend auf Typinformationen eine Instanz eines neuen Typs zu erstellen.

<code class="language-csharp">var list = Activator.CreateInstance(specificListType);</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich eine generische Typinstanz mithilfe einer Variablen erstellen, die den Typ enthält?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage