329 votes

Obtenir le nom du type sans l'espace de noms complet

J'ai le code suivant :

return "[Nouveau " + typeof(T).ToString() + " inséré]";

Mais

 typeof(T).ToString()

renvoie le nom complet incluant l'espace de noms

Y a-t-il un moyen d'obtenir simplement le nom de la classe (sans aucun qualificatif d'espace de noms) ?

8 votes

Soit dit en passant, écrire string1 + anything.ToString() + string2 est redondant. Le compilateur insère automatiquement l'appel à ToString si vous faites string1 + anything + string2.

17 votes

Pour ne pas être trop dur, aviez-vous inspecté les propriétés disponibles sur l'instance Type (telle que retournée par typeof(..)) je suis certain que vous auriez pu le découvrir vous-même...

0 votes

Pour une raison inconnue, la Name propriété est manquante dans la documentation - du moins, elle n'est pas là où je la cherchais.

2voto

ckoder Points 29

Vous pouvez utiliser la propriété Type.Name pour obtenir uniquement le nom de la classe sans les qualificateurs d'espace de noms.

return "[Nouveau " + typeof(T).Name + " inséré]";

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X