Auf Rechnern in verschiedenen Regionen werden die Kommentarinformationen zu .NET-Methoden und -Eigenschaften unterschiedlich dargestellt, zum Beispiel werden unter chinesischem Betriebssystem Kommentare auf Chinesisch und englische Kommentare auf englischen Betriebssystemen angezeigt. Das NET Framework kann Kommentare in verschiedenen Sprachen anzeigen – wie löst er das?
Wir wissen, dass man bei der Entwicklung einer Steuerung einen DescriptionAttribut-Tag zu einer Eigenschaft hinzufügen und deren Kommentare in der Eigenschaftsleiste anzeigen kann, wie folgt:
Aber du wirst feststellen, dass die Kommentarkette in chinesischem Text tot geschrieben ist. Was, wenn ich möchte, dass die Steuerung englische Kommentare in einer englischen Umgebung darstellt? .NET Framework kann Kommentare in verschiedenen Sprachen anzeigen – wie löst er das?
Dekompilation. Im NET Framework stellten wir fest, dass seine Annotation kein DescriptionAttribute besitzt, sondern ein SRDescriptionAttribute verwendet, zum Beispiel:
In den Kommentaren schreibt das .NET Framework keinen direkten englischen Kommentar, sondern schreibt ein Ressourcen-Schlüsselwort und betrachtet die Implementierung von SRDescriptionAttribute.
Es war zu einfach und genial, also überlud er den Get of the Description und holte ihn stattdessen aus der Ressourcendatei. So einfach ist das.
Die SRDescriptionAttribut-Klasse ist wie folgt:
#region Assemblersystem, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 C:Program Files (x86)ReferenzassembliesMicrosoftFramework.NETFramework4.0System.dll #endregion |