Je travaille sur la génération de code et j'ai rencontré un problème avec les génériques. Voici une version "simplifiée" de ce qui me cause des problèmes.Comment puis-je obtenir la bonne définition de texte d'un type générique en utilisant la réflexion?
Dictionary<string, DateTime> dictionary = new Dictionary<string, DateTime>();
string text = dictionary.GetType().FullName;
Avec le code ci-dessus snippet la valeur de text
est la suivante: (. Les sauts de ligne ajouté pour une meilleure lisibilité)
System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.DateTime, mscorlib,
Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]
Y at-il un moyen d'obtenir le nom du type (type
) dans un format différent sans analyser la chaîne ci-dessus? Je désire le résultat suivant pour text
:
System.Collections.Generic.Dictionary<System.String, System.DateTime>
Notez que si vous supprimez '' .FullName' et utilisez .ToString() 'la place, vous obtenez le" text "' 'System.Collections.Generic.Dictionary'2 [System.String, System.DateTime]' 'qui est plus lisible, et proche de ce que vous voulez. –