使用CultureAndRegionInfoBuilder更新内置的.Net文化

eri*_*cvg 1 .net c# internationalization

我正在尝试使用以下方法更改内置的.Net文化fr-CA:

    CultureAndRegionInfoBuilder cib = new CultureAndRegionInfoBuilder("fr-CA", CultureAndRegionModifiers.Replacement);

    try
    {
        Console.WriteLine("Updating " + cib.CultureName);

        cib.NumberFormat.CurrencyGroupSeparator = ",";
        cib.NumberFormat.CurrencyDecimalSeparator = ".";
        cib.NumberFormat.NumberGroupSeparator = ",";
        cib.NumberFormat.NumberDecimalSeparator = ".";

        cib.Register();

        Console.WriteLine("Culture updated.");
    }
    catch (Exception e)
    {
        Console.WriteLine(e);
        Console.ReadKey();
    }
Run Code Online (Sandbox Code Playgroud)

但是,Register()调用失败,出现"System.InvalidOperationException:'Register'方法失败,因为自定义文化'fr-CA'已经存在."

是否有可能更新内置文化?根据文档(http://msdn.microsoft.com/en-us/library/system.globalization.cultureandregioninfobuilder.cultureandregioninfobuilder.aspx),看起来我可以更新它,尽管我可能会读错了.

eri*_*cvg 6

我只需要添加:

CultureAndRegionInfoBuilder.UnRegister("fr-CA");
Run Code Online (Sandbox Code Playgroud)

在Register()之前.