Property Value

Manipulating threads is dangerous because of the security state associated with threads. Therefore, this permission should be given only to trustworthy code, and then only as necessary. Your application cannot change thread culture in semi-trusted code.

using System;
using System.Globalization;
using System.Security.Permissions;
using System.Threading;
[assembly:SecurityPermission( SecurityAction.RequestMinimum, ControlThread = true )]
publicclass SamplesCultureInfo {
publicstaticvoid Main() {
// Displays the name of the CurrentCulture of the current thread.
Console.WriteLine( "CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name );
// Changes the CurrentCulture of the current thread to th-TH.
Thread.CurrentThread.CurrentCulture = new CultureInfo( "th-TH", false );
Console.WriteLine( "CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name );
// Displays the name of the CurrentUICulture of the current thread.
Console.WriteLine( "CurrentUICulture is {0}.", CultureInfo.CurrentUICulture.Name );
// Changes the CurrentUICulture of the current thread to ja-JP.
Thread.CurrentThread.CurrentUICulture = new CultureInfo( "ja-JP", false );
Console.WriteLine( "CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name );
}
}
/*
This code produces the following output, if the ControlThread permission is granted (for example, if this code is run from the local drive).
CurrentCulture is en-US.
CurrentCulture is now th-TH.
CurrentUICulture is en-US.
CurrentUICulture is now ja-JP.
*/