Wenn ich das habe:
%Vor% Wie bekomme ich "System.Collections.Generic.Dictionary"
als String? Ist der beste / einzige Weg, dies zu tun:
Scheint mir aber irgendwie hackisch.
Der Grund, warum ich das möchte, ist, dass ich ein Objekt Type
nehmen und Code erzeugen möchte, der dem in einer C # Quellcodedatei gefundenen Code ähnlich ist. Ich produziere einige Textvorlagen, und ich muss Typen als Zeichenfolgen in die Quelle einfügen, und die FullName
-Eigenschaft erzeugt etwa Folgendes:
statt was ich will:
%Vor%Bearbeiten : Ok, hier ist der endgültige Code, scheint mir immer noch ein bisschen wie ein Hack, aber es funktioniert:
%Vor%Ist das näher an dem, wonach Sie suchen?
Es verwendet CodeTypeReferenceExpression
und benötigt keine weiteren Substring
oder Replace
ruft auf:
AFAIK Die interne Notation für Generika verwendet die 'x-Notation, um die Anzahl der Typparameter für den generischen Typ anzugeben. I.e. 2 gibt an, dass das Dictionary zwei Arten benötigt, um es zu schließen. Es ist die gleiche Notation wie ILDasm und Reflection.
Tags und Links .net c# reflection types