На машинах в разных локациях информация о комментариях методов и свойств .NET отображается по-разному: например, в китайской операционной системе комментарии отображаются на китайском, а на английском — на английском. NET Framework может отображать комментарии на разных языках, как он это решит?
Мы знаем, что при разработке контроля можно добавить тег DescriptionAttribute к свойству и отобразить его комментарии в панели свойства, например:
Но вы обнаружите, что строка комментариев написана мёртвым в китайском тексте, что если я хочу, чтобы управление отображало английские комментарии в английской среде? .NET Framework может отображать комментарии на разных языках, как он это решит?
Декомпиляция. В рамках NET Framework мы обнаружили, что его аннотация не имеет DescriptionAttribute, а использует SRDescriptionAttribute, например:
В комментариях .NET Framework не пишет прямого английского комментария, а пишет ключевое слово ресурса и рассматривает реализацию SRDescriptionAttribute.
Это было слишком просто и изобретательно, поэтому он перегрузил Get of the Description и взял его из файла ресурсов. Всё просто.
Класс SRDescriptionAttribute выглядит следующим образом:
#region Assembly System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFramework4.0System.dll #endregion |