Index: Core/Common/src/Core.Common.Utils/Globalization/RegionalSettingsManager.cs =================================================================== diff -u -ra5e7f5cca253bd8c38f75d3830c55fbfc9cc4bb6 -r35047fdcccdcf06cce2ee47c726310c2577db8ea --- Core/Common/src/Core.Common.Utils/Globalization/RegionalSettingsManager.cs (.../RegionalSettingsManager.cs) (revision a5e7f5cca253bd8c38f75d3830c55fbfc9cc4bb6) +++ Core/Common/src/Core.Common.Utils/Globalization/RegionalSettingsManager.cs (.../RegionalSettingsManager.cs) (revision 35047fdcccdcf06cce2ee47c726310c2577db8ea) @@ -13,7 +13,6 @@ public static class RegionalSettingsManager { public static event Action FormatChanged; - private static readonly CustomFormatProvider customFormatProvider = new CustomFormatProvider(); private static string realNumberFormat = "G5"; @@ -58,11 +57,6 @@ } } - public static IFormatProvider GetCustomFormatProvider() - { - return customFormatProvider; - } - public static string ConvertToString(object value, bool truncateNumbers = true) { if (value is DateTime) @@ -75,42 +69,5 @@ } return Convert.ToString(value, CurrentCulture); } - - private static DateTimeFormatInfo CreateDateTimeFormatFromSystemSettingsWithoutNameLocalization() - { - var systemCulture = Thread.CurrentThread.CurrentCulture.DateTimeFormat; - var ci = CultureInfo.InvariantCulture; - - var localMachineDateTimeFormat = (DateTimeFormatInfo) systemCulture.Clone(); - //don't take the localized names! - localMachineDateTimeFormat.DayNames = ci.DateTimeFormat.DayNames; - localMachineDateTimeFormat.MonthNames = ci.DateTimeFormat.MonthNames; - localMachineDateTimeFormat.AbbreviatedDayNames = ci.DateTimeFormat.AbbreviatedDayNames; - localMachineDateTimeFormat.AbbreviatedMonthGenitiveNames = ci.DateTimeFormat.AbbreviatedMonthGenitiveNames; - localMachineDateTimeFormat.AbbreviatedMonthNames = ci.DateTimeFormat.AbbreviatedMonthNames; - return localMachineDateTimeFormat; - } - - /// - /// TODO: how to make .NET use this FormatProvider instead of CurrentCulture.NumberInfo? Sealed class problem - /// - private class CustomFormatProvider : IFormatProvider, ICustomFormatter - { - public string Format(string format, object arg, IFormatProvider formatProvider) - { - var argType = arg.GetType(); - if ((argType == typeof(double) || argType == typeof(float))) - { - return string.Format(CurrentCulture, "{" + realNumberFormat + "}", arg); - } - - return string.Format(CurrentCulture, format, arg); - } - - public object GetFormat(Type formatType) - { - return (formatType == typeof(ICustomFormatter)) ? this : null; - } - } } } \ No newline at end of file Index: Core/Common/test/Core.Common.Utils.Test/Globalization/RegionalSettingsManagerTest.cs =================================================================== diff -u -ra5e7f5cca253bd8c38f75d3830c55fbfc9cc4bb6 -r35047fdcccdcf06cce2ee47c726310c2577db8ea --- Core/Common/test/Core.Common.Utils.Test/Globalization/RegionalSettingsManagerTest.cs (.../RegionalSettingsManagerTest.cs) (revision a5e7f5cca253bd8c38f75d3830c55fbfc9cc4bb6) +++ Core/Common/test/Core.Common.Utils.Test/Globalization/RegionalSettingsManagerTest.cs (.../RegionalSettingsManagerTest.cs) (revision 35047fdcccdcf06cce2ee47c726310c2577db8ea) @@ -1,7 +1,6 @@ using System; using System.Globalization; using System.Threading; -using Core.Common.Utils.Globalization; using NUnit.Framework; namespace Core.Common.Utils.Test.Globalization @@ -10,26 +9,6 @@ public class RegionalSettingsManagerTest { [Test] - public void SetRealNumberFormat() - { - var formatChangedCallCount = 0; - RegionalSettingsManager.FormatChanged += delegate { formatChangedCallCount++; }; - - RegionalSettingsManager.RealNumberFormat = "0:0.0"; - - var value = 1000000.0001; - - var formatProvider = RegionalSettingsManager.GetCustomFormatProvider(); - - var str = string.Format(formatProvider, "{0}", value); - - var currentNumberFormat = Thread.CurrentThread.CurrentCulture.NumberFormat; - - Assert.AreEqual("1000000" + currentNumberFormat.NumberDecimalSeparator + "0", str); - Assert.AreEqual(1, formatChangedCallCount); - } - - [Test] public void TestForLowerAndUpperCaseInTurkishLanguage() { // This test is just to identify the problem and a possible solution