Skip to content

Instantly share code, notes, and snippets.

@rastating
Created January 23, 2014 22:26
Show Gist options
  • Save rastating/8588073 to your computer and use it in GitHub Desktop.
Save rastating/8588073 to your computer and use it in GitHub Desktop.
using System;
using System.Globalization;
using System.Reflection;
using System.Threading;
namespace DefaultCultureInfoExample
{
class Program
{
static void SetDefaultCulture(CultureInfo culture)
{
Type type = typeof(CultureInfo);
try
{
type.InvokeMember("s_userDefaultCulture",
BindingFlags.SetField | BindingFlags.NonPublic | BindingFlags.Static,
null,
culture,
new object[] { culture });
type.InvokeMember("s_userDefaultUICulture",
BindingFlags.SetField | BindingFlags.NonPublic | BindingFlags.Static,
null,
culture,
new object[] { culture });
}
catch { }
try
{
type.InvokeMember("m_userDefaultCulture",
BindingFlags.SetField | BindingFlags.NonPublic | BindingFlags.Static,
null,
culture,
new object[] { culture });
type.InvokeMember("m_userDefaultUICulture",
BindingFlags.SetField | BindingFlags.NonPublic | BindingFlags.Static,
null,
culture,
new object[] { culture });
}
catch { }
}
static void Main(string[] args)
{
Console.WriteLine("Culture name before update: {0}",
Thread.CurrentThread.CurrentCulture.Name);
SetDefaultCulture(new CultureInfo("fr-fr"));
Console.WriteLine("Culture name after update: {0}",
Thread.CurrentThread.CurrentCulture.Name);
Console.ReadLine();
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment