Я получаю предупреждение CA1305.CA1305: int.Parse (String)
Microsoft.Globalization: Поскольку поведение 'int.Parse (строка)' может варьироваться в зависимости от настроек локали текущего пользователя , заменить этот вызов в «_Default.CalculateImageButton_Click (объект, ImageClickEventArgs) 'с вызовом ' int.Parse (строка, IFormatProvider) '. Если результат 'int.Parse (строка, IFormatProvider)' будет отображаться пользователю , укажите 'CultureInfo.CurrentCulture' как параметр 'IFormatProvider'. В противном случае, если результат будет , сохраненный и доступный по программному обеспечению, такой как , как если он сохраняется на диске, или базы данных, укажите 'CultureInfo.InvariantCulture'.
Что именно может пойти не так, если я опускаю указание культуры при разборе Int32?
Я считаю, что CurrentUICulture ТОЛЬКО для вытягивания ресурсов строки. Для всех форматирования вы должны использовать CurrentCulture (обратите внимание на отсутствие пользовательского интерфейса). В противном случае определенные культуры вызовут ваш код. См. Http://code.google.com/p/dotnetopenid/issues/detail?id=60 пример ошибки, вызванной этим. –