[解決済み] アプリケーション全体にカルチャを設定する方法はありますか?すべての現在のスレッドと新しいスレッド?
2022-04-21 17:05:52
質問
アプリケーション全体にカルチャを設定する方法はありますか?すべての現在のスレッドと新しいスレッドですか?
データベースにカルチャーの名前を保存しておき、アプリケーションが起動したときに、次のようにします。
CultureInfo ci = new CultureInfo(theCultureString);
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
しかし、もちろん、新しいスレッドで何かをしたいとき、これは "lost" になってしまいます。そこで
CurrentCulture
と
CurrentUICulture
をアプリケーション全体に適用するのですか?新しいスレッドもその文化を取得するように?それとも、新しいスレッドが作成されるたびに発生するイベントで、それにフックすることができるのでしょうか?
解決方法は?
.NET 4.5では、(1)のように
CultureInfo.DefaultThreadCurrentCulture
プロパティを使用して、AppDomain のカルチャを変更できます。
4.5より前のバージョンでは、AppDomainのカルチャを操作するためにリフレクションを使用しなければなりません。 のプライベートな静的フィールドがあります。
CultureInfo
(
m_userDefaultCulture
.NET 2.0 の mscorlib では。
s_userDefaultCulture
を制御する.NET 4.0 mscorlibの)
CurrentCulture
は、スレッドが自分自身にそのプロパティを設定していない場合に返されます。
これはネイティブスレッドのロケールを変更しないので、この方法でカルチャを変更するコードを出荷するのはおそらく良いアイデアではありません。 しかし、テストには有用かもしれません。
関連
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】「namespace x already contains a definition for x」エラーの修正方法は?VS2010にコンバートした後に発生しました。
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】Visual studio 2019がデバッグ時にフリーズする件
-
[解決済み】Entity FrameworkからのSqlException - セッション内で他のスレッドが動作しているため、新しいトランザクションは許可されません。
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】IntPtrとは一体何なのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】Ajax処理で「無効なJSONプリミティブ」と表示される件
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み】"指定されたパスのフォーマットはサポートされていません。"
-
[解決済み】aspNetCore 2.2.0 - AspNetCoreModuleV2 エラー
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
[解決済み] 関数を終了するには?