C# - Get benutzerfreundlichen Namen für simple-Datentypen, die durch Reflexion?
Type t = typeof(bool);
string typeName = t.Name;
In diesem einfachen Beispiel typeName
hätte den Wert "Boolean"
. Ich würde gerne wissen, ob/wie kann ich es sagen "bool"
statt.
Gleiche für int/Int32, double/Double, string/String.
- mögliche Duplikate von Wie bekomme ich die primitiven Namen, der einen Typ in C#?
- Im Gegensatz zu den Antworten so weit, Blick auf das Duplikat oben verlinkten für ein positiver Ansatz 🙂 (Vorausgesetzt, du bist glücklich, zu verwenden CSharpCodeProvider eher als "normale" reflektion).
- Mögliche Duplikate von Wie bekomme ich die primitiven Namen, der einen Typ in C#?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den "freundlichen Namen", wie Sie Sie nennen sind sprachspezifisch und nicht gebunden an den Rahmen. Daher ist es nicht sinnvoll, diese Informationen im Rahmen, und die MS-design-Richtlinien erfordern, dass Sie die Rahmen-Namen für die Methode, Namen etc. (wie
ToInt32
etc.).Aus, was ich verstehe,
bool
,string
,int
usw. sind nur Aliase für uns C# - Entwickler.Nachdem der compiler eine Datei verarbeitet, nicht mehr von Ihnen sind tatsächlich vorhanden.
können Sie nicht. Diese sind alle C# - spezifische keywords. Aber man kann leicht zuordnen:
etc
Den .net framework selbst nicht wissen über C# - spezifische keywords. Aber da gibt es nur etwa ein Dutzend von Ihnen, können Sie einfach erstellen Sie manuell eine Tabelle mit den Namen, die Sie möchten.
Könnte dies ein
Dictionary<Type,string>
:Dieser code nicht ersetzen
Nullable<T>
mitT?
und nicht transformieren Generika in der form C# verwendet.Ich würde sagen, Sie können nicht, da diese Namen sind spezifisch für C# und als solche produziert nicht das gleiche Ergebnis, wenn die Entwickler verwenden wollte VB.NET.
Bekommen Sie die CLR-Typ, und das ist wirklich das, was Sie möchten, um in der Lage sein, zu neu die Art später. Aber man kann immer geben Sie einen Namen ein mapper.
Konnte man immer erstellen ein Wörterbuch zum übersetzen des C# - Namen, um die "freundlichen" diejenigen, die Sie wollen: