En máquinas de diferentes ubicaciones, la información de los comentarios sobre los métodos y propiedades .NET se muestra de forma distinta; por ejemplo, bajo el sistema operativo chino, los comentarios se muestran en chino y los comentarios en inglés en los sistemas operativos en inglés. NET Framework puede mostrar comentarios en diferentes lenguajes, ¿cómo lo resuelve?
Sabemos que al desarrollar un control, puedes añadir una etiqueta DescriptionAttribute a una propiedad y mostrar sus comentarios en la barra de propiedades, así:
Pero verás que la cadena de comentarios está escrita muerta en texto chino, ¿y si quiero que el control muestre los comentarios en inglés en un entorno inglés? .NET Framework puede mostrar comentarios en diferentes idiomas, ¿cómo lo resuelve?
Descompilación. NET Framework, descubrimos que su anotación no tiene un DescriptionAttribute, pero utiliza un SRDescriptionAttribute, por ejemplo:
En los comentarios, el .NET Framework no escribe un comentario directo en inglés, sino que escribe una palabra clave resource y analiza la implementación de SRDescriptionAttribute.
Era demasiado simple e ingenioso, así que sobrecargó el Get of the Description y lo obtuvo del archivo de recursos. Así de sencillo.
La clase SRDescriptionAttribute es la siguiente:
#region Sistema de Ensamblador, Versión=4.0.0.0, Cultura=neutral, PublicKeyToken=b77a5c561934e089 C:Archivos de programa (x86)Ensamblajes de referenciaMicrosoftFramework.NET Trabajo4.0System.dll #endregion |