Maison >développement back-end >C++ >Comment puis-je convertir une chaîne en type en C# ?

Comment puis-je convertir une chaîne en type en C# ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-23 14:37:10110parcourir

How Can I Convert a String to a Type in C#?

Conversion de type chaîne 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn