Які переваги файлів ресурсів (.resx)?


78

Які вагомі причини існують для їх використання?


9
Якщо ви ніколи раніше не використовували файл resx, але маєте власні таблиці рядків тощо (або ще гірше, рядки розкидані по коду, всі локально визначені) і не бачили причини змінити цей підхід, тоді це законне питання.
mmr

8
Я ніколи раніше не користувався resx. Саме в цьому полягає причина.
Новачок

Відповіді:


88
  • Файли ресурсів дають вам простий спосіб локалізувати / інтернаціоналізувати ваші .net-програми, автоматично визначаючи, яку мову resx-файлу використовувати на основі локалі користувача. Щоб додати більше мов, просто додайте ще один перекладений файл ресурсу.

  • Файли ресурсів дають вам центральне місце для зберігання ваших рядків, файлів і сценаріїв і посилання на них строго набраним способом (тому компіляція зламається, якщо ви неправильно посилаєтесь на них).

  • Файли ресурсів можна компілювати в супутникові збірки, що полегшує зміну ресурсів у виробничому додатку без необхідності перекомпілювати все це.


29

Як доповнення до інших відповідей, рядкові ресурси призначені для читаного людиною тексту, а не константи, які будуть використовуватися програмно. Вони чудово підходять для повідомлень про помилки, міток кнопок тощо.

Дуже часто, замість кінцевого рядка, ми зберігаємо рядок форматування, щоб змінні можна було підставити в останній момент. Приємна річ цього методу полягає в тому, що, на відміну від конкатенації, він не порушується, коли мова має різні вимоги до порядку слів.


1
+1 за це справді! Хоча Там ще будуть Дракони; наприклад, де англійська має "один" та "багато", словенська наприклад має "один", "мало" та "багато".
Корнелій

1
Це дратує перенаправлення на окремий файл "res", коли хтось посилається на відформатований рядок для реєстрації.
Jmoney38

13

З resx ви можете мати по одній для кожної мови (це розмовна мова, а не мова програмування), що дозволяє вашій програмі / системі бути багатомовними.


14
Так - світ НЕ просто говорить англійською!
marc_s

будь-який підручник про те, як це зробити на простому прикладі?
KansaiRobot

13

Файли ресурсів дозволяють змінювати текст / графіку, яку буде відображати програма, не редагуючи код самої програми. З багатьох причин часто вважається ідеальним уникати необхідності редагувати вихідний код програми, щоб вносити зміни, які не є частиною логіки вашого додатка.


3

На додаток до наведених вище відповідей, файли ресурсів можуть також забезпечити вам місце для зберігання тестових файлів для виконання тестів читання / запису. Таким чином, незалежно від того, як налаштовано оточення інших людей, у вас може бути місце для зберігання журналів чи інших файлів.

Майте на увазі, що файли, які ви розміщуєте у ресурсах, мають бути серіалізуваними. Щоб дізнатися більше, перегляньте нижче:

https://msdn.microsoft.com/en-us/library/f45fce5x(v=vs.80).aspx

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.