Ich arbeite an der Code-Generierung und geriet in einen Konflikt mit Generika. Hier ist eine "vereinfachte" Version dessen, was mich Probleme verursacht.Wie kann ich die korrekte Textdefinition eines generischen Typs mit Reflektion erhalten?
Dictionary<string, DateTime> dictionary = new Dictionary<string, DateTime>();
string text = dictionary.GetType().FullName;
Mit dem obigen Codeausschnitt des Wert text
wie folgt: (. Zeilenumbrüche zur besseren Lesbarkeit hinzugefügt)
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]]
Gibt es eine Möglichkeit die Typnamen zu erhalten (type
) in einem anderen Format, ohne die obige Zeichenfolge zu analysieren? Ich wünsche das folgende Ergebnis für text
:
System.Collections.Generic.Dictionary<System.String, System.DateTime>
Beachten Sie, dass, wenn Sie '.FullName' entfernen und verwenden' .ToString() 'statt, erhalten Sie das" text "' 'System.Collections.Generic.Dictionary'2 [System.String, System.DateTime]' 'das ist besser lesbar und nah an dem, was Sie wollen. –