Wie kann ich mithilfe von Reflection die korrekte Textdefinition eines generischen Typs ermitteln?

Ich arbeite an der Codegenerierung und bin mit Generika in Konflikt geraten. Hier ist eine "vereinfachte" Version dessen, was mir Probleme bereitet.

Dictionary<string, DateTime> dictionary = new Dictionary<string, DateTime>();
string text = dictionary.GetType().FullName;

Mit dem obigen Code-Snippet den Wert vontext ist wie folgt

 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]]

(Zeilenumbrüche zur besseren Lesbarkeit hinzugefügt.)

Gibt es eine Möglichkeit, den Typnamen zu ermitteln type) in einem anderen Format ohne die obige Zeichenfolge zu analysieren? Ich wünsche folgendes Ergebnis fürtext:

System.Collections.Generic.Dictionary<System.String, System.DateTime>

Antworten auf die Frage(12)

Ihre Antwort auf die Frage