Wie kann ich die CurrentCulture des gesamten Prozesses (nicht nur mit aktuellen thread).Net?
Ich habe eine situation wo ich brauche, um meinen Prozess' locale auf en-US.
Ich wissen, wie das für den aktuellen thread:
System.Threading.Thread.CurrentThread.CurrentCulture =
System.Globalization.CultureInfo.CreateSpecificCulture("en-US");
Aber meine Anwendung verwendet BackgroundWorkers
zu tun, einige Bearbeitung, und das Gebietsschema für diese worker-threads scheint nicht betroffen zu sein, die von der oben genannten änderung zu Ihren Laich-main-thread.
So, wie ich das einstellen kann das Gebietsschema für alle die threads in meiner Anwendung, ohne es in jedem einzelnen manuell?
InformationsquelleAutor Assaf Lavie | 2009-09-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie ändern Gebietsschema des Betriebssystems wenn Sie das tun wollen. Aus welchem Grund wollen Sie BackgroundWorkers auf die Ausführung in en-US?
Sollten Sie Ihre business-Schicht in einer invariante Kultur, und nur eine bestimmte Kultur für den end-user-UI.
Wenn Sie die BackgroundWorker Komponente, und müssen dies tun, Sie könnten versuchen, so etwas wie dies in der DoWork-Methode:
BackgroundWorker
- Komponente auf einemForm
zum Beispiel)Ja (vor allem, wenn es der Hintergrund Worker-Komponente), aber Sie nicht aktualisieren die Benutzeroberfläche auf dem hintergrund worker-thread. Zumindest nicht, wenn Sie verwenden es richtig.
Die background-worker nicht doppelt.Parse(string) auf eine Eingabe, die Pausen für bestimmte Gebietsschemas, die haben seltsame Komma-Darstellungen. So, ich muss noch wissen, wie Sie das Gebietsschema für den gesamten Prozess. Sagen Sie, dass dies nicht möglich ist?
Assaf - können Sie nach einem code-Beispiel. Keiner meiner Vorschläge für Sie arbeiten?
Ich landete Erben von BW und Einstellung der CurrentCulture-vor jedem thread-Funktion...
InformationsquelleAutor RichardOD
4.0, werden Sie brauchen, um zu verwalten diese selber, indem Sie die Einstellung für die Kultur, für jeden thread. Aber mit 4,5 definieren Sie eine Kultur für die Anwendungsdomäne, und das ist der bevorzugte Weg, dies zu behandeln. Die entsprechenden apis werden CultureInfo.DefaultThreadCurrentCulture und CultureInfo.DefaultThreadCurrentUICulture.
InformationsquelleAutor Eric MSFT
Verwenden:
nachdem auf Arbeit machen:
Spanish - Spain
ausSpanish - Spain
zum Beispiel, wo0x0C0A
nutzt internationale Sortierreihenfolge und die0x040A
verwendet traditionelle Art um. REF: CultureInfo-KlasseInformationsquelleAutor Paolo30Rose
Verwenden wir die helper-Klasse für BackgroudWorker wie diese:
Beispiel:
InformationsquelleAutor Ondřej Vykouk