Heim >Backend-Entwicklung >C++ >Wie kann ich mithilfe von Typvariablen dynamisch generische Instanzen in C# erstellen?
Dynamische Erstellung generischer Instanzen mithilfe von Typvariablen
In C# bieten generische Typen eine bequeme Möglichkeit, Datenstrukturen zu definieren und zu verwenden, die mit verschiedenen Datentypen arbeiten können. In einigen Fällen müssen Sie jedoch möglicherweise eine Instanz eines generischen Typs mithilfe einer Variablen des enthaltenden Typs erstellen.
Der folgende Code versucht, eine List
<code class="language-c#">Type k = typeof(double); List<k> lst = new List<k>();</code>
Um dieses Problem zu lösen, können Sie die folgenden Methoden verwenden:
Das Folgende ist der korrigierte Code:
<code class="language-c#">var genericListType = typeof(List<>); // 注意<> var specificListType = genericListType.MakeGenericType(typeof(double)); var list = Activator.CreateInstance(specificListType);</code>
Mit diesem Ansatz können Sie dynamisch eine Instanz eines generischen Typs erstellen, indem Sie eine Variable verwenden, die den Type enthält. Diese Flexibilität ermöglicht Ihnen die Handhabung komplexer Datenstrukturen und Szenarios, in denen generische Typen programmgesteuert bestimmt werden müssen. Beachten Sie das typeof(List<>)
in <>
. Es zeigt an, dass es sich um einen generischen Typ und nicht um einen bestimmten Typ handelt.
Das obige ist der detaillierte Inhalt vonWie kann ich mithilfe von Typvariablen dynamisch generische Instanzen in C# erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!