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