В некоторой степени FxCop прав: вам не следует использовать CurrentUICulture
в этом случае. Как уже говорили другие, CurrentCulture
предназначен для форматирования с учетом локали, тогда как CurrentUICulture
предназначен для чтения переводимых строк из ресурсов.
То, что вы сделали здесь, было форматирование числа, поэтому FxCop жалуется, что вы использовали неверный CultureInfo
. К сожалению, FxCop не сказал вам, что вы должны использовать CultureInfo.InvariantCulture
. Зачем? Потому что номер версии не зависит от локали. Вы всегда увидите что-то вроде 1,9, а не 1,9. Таким образом, InvariantCulture
- это путь.
Microsoft даже предоставила специальный класс для хранения информации о версии - как ни странно, его имя Version
(AFAIR находится в System
пространстве имен). Это всегда будет представлять вам номера версий, как я упоминал ранее, когда вы делаете ToString()
. Его конструктор также ожидает строку версии, инвариантную к локали, при ее создании.