På maskiner i forskellige lokaliteter vises kommentarinformationen for .NET-metoder og egenskaber forskelligt, for eksempel vises kommentarer på kinesisk under kinesiske operativsystemer, og engelske kommentarer vises på engelske operativsystemer. NET Framework kan vise kommentarer på forskellige sprog, hvordan løser han det?
Vi ved, at når man udvikler en kontrol, kan man tilføje et DescriptionAttribut-tag til en egenskab og vise dens kommentarer i egenskabslinjen, sådan her:
Men du vil opdage, at kommentarstrengen er skrevet død i kinesisk tekst, hvad hvis jeg vil have kontrollen til at vise engelske kommentarer i et engelsk miljø? .NET Framework kan vise kommentarer på forskellige sprog, hvordan løser han det?
Dekompilering. NET Framework fandt vi, at hans annotation ikke har en DescriptionAttribute, men bruger en SRDescriptionAttribute, for eksempel:
I kommentarerne skriver .NET Framework ikke en direkte engelsk kommentar, men skriver et ressourcenøgleord og ser på implementeringen af SRDescriptionAttribute.
Det var for simpelt og genialt, så han overbelastede Get of the Description og hentede det i stedet fra ressourcefilen. Så enkelt er det.
SRDescriptionAttribut-klassen er som følger:
#region Assembly System, version=4.0.0.0, culture=neutral, PublicKeyToken=b77a5c561934e089 // C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFramework4.0System.dll #endregion |