Maison >développement back-end >C++ >Comment puis-je convertir une chaîne en type en C# ?
En programmation C#, il est souvent nécessaire de convertir dynamiquement une chaîne représentant un nom de classe en son type correspondant. Cependant, en utilisant Type.GetType("System.Int32")
, cette méthode par défaut ne fonctionne que pour les types situés dans mscorlib
ou dans l'assembly appelant.
Pour les classes situées dans d’autres assemblées, une approche différente s’impose. Le type requis peut être récupéré avec succès en incluant le nom de l'assembly dans la chaîne :
<code class="language-csharp">Type type = Type.GetType("命名空间.我的类, 我的程序集");</code>
Si l'assemblage a un nom fort, ses détails doivent être inclus. Pour plus de conseils, veuillez vous référer à la Type.GetType(string)
documentation.
Vous pouvez également supposer que vous détenez une référence à l'assembly cible, par exemple via un type connu. Dans ce cas, Assembly.GetType
propose une solution pratique :
<code class="language-csharp">Assembly asm = typeof(某个已知类型).Assembly; Type type = asm.GetType(带命名空间的类型名称);</code>
En utilisant les techniques ci-dessus, vous pouvez facilement implémenter la conversion de chaîne en type en C#, réalisant ainsi pleinement le potentiel de la récupération de type dynamique.
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!