come impostare le informazioni di cultura di default per l’intera applicazione c #

Voglio impostare le informazioni sulla cultura di default per quella class o per l’intera applicazione.

Ad esempio in Turchia 3,2 = in inglese 3.2

quindi l’applicazione usa il mio locale ma voglio che lo usi come predefinito

System.Globalization.CultureInfo.InvariantCulture 

Come posso impostarlo come predefinito per quella specifica class o per l’intera applicazione

Non per l’intera applicazione o class particolare.

CurrentUICulture e CurrentCulture sono impostabili per thread come discusso qui C’è un modo di impostare la cultura per un’intera applicazione? Tutti i thread attuali e i nuovi thread? . Non è ansible cambiare InvariantCulture .

Esempio di codice per cambiare le culture per il thread corrente:

 CultureInfo ci = new CultureInfo(theCultureString); Thread.CurrentThread.CurrentCulture = ci; Thread.CurrentThread.CurrentUICulture = ci; 

Per la class è ansible impostare / ripristinare la cultura all’interno di metodi critici, ma sarebbe significativamente sicuro utilizzare le sostituzioni appropriate per la maggior parte dei metodi di formattazione che considerano la cultura come uno degli argomenti:

 (3.3).ToString(new CultureInfo("fr-FR")) 

Con 4.0, dovrai gestirlo da solo impostando la cultura per ogni thread come descritto da Alexei. Ma con 4.5, puoi definire una cultura per l’appdomain e questo è il modo preferito per gestirlo. Le apis pertinenti sono CultureInfo.DefaultThreadCurrentCulture e CultureInfo.DefaultThreadCurrentUICulture .