Création dynamique d'instances génériques à l'aide de variables de type
En C#, les types génériques constituent un moyen pratique de définir et d'utiliser des structures de données pouvant fonctionner avec différents types de données. Cependant, dans certains cas, vous devrez peut-être créer une instance d'un type générique à l'aide d'une variable du type conteneur.
Le code suivant tente de créer une instance List
<code class="language-c#">Type k = typeof(double); List<k> lst = new List<k>();</code>
Pour résoudre ce problème, vous pouvez utiliser les méthodes suivantes :
Voici le code corrigé :
<code class="language-c#">var genericListType = typeof(List<>); // 注意<> var specificListType = genericListType.MakeGenericType(typeof(double)); var list = Activator.CreateInstance(specificListType);</code>
Avec cette approche, vous pouvez créer dynamiquement une instance d'un type générique à l'aide d'une variable contenant le Type . Cette flexibilité vous permet de gérer des structures de données et des scénarios complexes dans lesquels les types génériques doivent être déterminés par programme. Notez le typeof(List<>)
dans <>
, il indique qu'il s'agit d'un type générique, pas d'un type spécifique.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!