Thread.CurrentCulture Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define a cultura do thread atual.
public:
property System::Globalization::CultureInfo ^ CurrentCulture { System::Globalization::CultureInfo ^ get(); void set(System::Globalization::CultureInfo ^ value); };
public System.Globalization.CultureInfo CurrentCulture { get; set; }
member this.CurrentCulture : System.Globalization.CultureInfo with get, set
Public Property CurrentCulture As CultureInfo
Valor da propriedade
Um objeto que representa a cultura do thread atual.
Exceções
A propriedade é definida como null.
Somente .NET Core e .NET 5+: não há suporte para ler ou escrever a cultura de um thread de outro thread.
Exemplos
O exemplo a seguir mostra a instrução threading que permite que a interface do usuário de um aplicativo do Windows Forms seja exibida na cultura definida no Painel de Controle. Código adicional é necessário.
using System;
using System.Threading;
using System.Windows.Forms;
class UICulture : Form
{
public UICulture()
{
// Set the user interface to display in the
// same culture as that set in Control Panel.
Thread.CurrentThread.CurrentUICulture =
Thread.CurrentThread.CurrentCulture;
// Add additional code.
}
static void Main()
{
Application.Run(new UICulture());
}
}
open System.Threading
open System.Windows.Forms
type UICulture() =
inherit Form()
do
// Set the user interface to display in the
// same culture as that set in Control Panel.
Thread.CurrentThread.CurrentUICulture <- Thread.CurrentThread.CurrentCulture
// Add additional code.
new UICulture() |> Application.Run
Imports System.Threading
Imports System.Windows.Forms
Public Class UICulture : Inherits Form
Sub New()
' Set the user interface to display in the
' same culture as that set in Control Panel.
Thread.CurrentThread.CurrentUICulture = _
Thread.CurrentThread.CurrentCulture
' Add additional code.
End Sub
Shared Sub Main()
Application.Run(New UICulture())
End Sub
End Class
Comentários
O CultureInfo objeto retornado por essa propriedade, juntamente com seus objetos associados, determina o formato padrão para datas, horas, números, valores de moeda, a ordem de classificação de texto, convenções de casing e comparações de cadeia de caracteres. Consulte a CultureInfo classe para saber mais sobre nomes e identificadores de cultura, as diferenças entre culturas invariáveis, neutras e específicas e a maneira como as informações de cultura afetam threads e domínios de aplicativo. Consulte a CultureInfo.CurrentCulture propriedade para saber como a cultura padrão de um thread é determinada e como os usuários definem informações de cultura para seus computadores.
Importante
A CurrentCulture propriedade não funciona de forma confiável quando usada com qualquer thread diferente do thread atual. No .NET Framework, a leitura da propriedade é confiável, embora defini-la para um thread diferente do thread atual não seja. No .NET Core, um InvalidOperationException será gerado se um thread tentar ler ou gravar a CurrentCulture propriedade em um thread diferente. Recomendamos que você use a CultureInfo.CurrentCulture propriedade para recuperar e definir a cultura atual.
A partir do .NET Framework 4, você pode definir a CurrentCulture propriedade como uma cultura neutra. Isso ocorre porque o comportamento da CultureInfo classe mudou: quando ela representa uma cultura neutra, seus valores de propriedade (em particular, o Calendar, CompareInfo, , DateTimeFormatNumberFormate TextInfo propriedades) agora refletem a cultura específica associada à cultura neutra. Em versões anteriores do .NET Framework, a CurrentCulture propriedade gerou uma NotSupportedException exceção quando uma cultura neutra foi atribuída.