ResourceManager

現在のスレッドのUIカルチャは、Thread.CurrentThread.CurrentUICultureで指定できます。

コンストラクタ

public ResourceManager (
    string baseName,                    // リソース ファイルのルート名
    System.Reflection.Assembly assembly // リソースの主要アセンブリ
    );
ResourceManager(String, Assembly) - ResourceManager Constructor (System.Resources) | Microsoft Learn

baseNameはリソース ファイルのルート名で、完全修飾の名前空間名を含むが、拡張子は含まない名前です。たとえば

MyApplication.MyResource.en-US.resx

のルート名は

MyApplication.MyResource

です。このときリソース ファイルが DIR\MyResource.en-US.resxのようにDIRディレクトリ以下に配置されていたら

MyApplication.DIR.MyResource

とします。

メソッド

GetString()

文字列リソースの値を取得できます。

public virtual string GetString (string name);
GetString(String) - ResourceManager.GetString Method (System.Resources) | Microsoft Learn

nameの名前のリソースが見つからなかったときは、nullが返されます。

指定されたカルチャまたはニュートラル カルチャに対して適切なリソースが見つかりませんでした。 "***.***.resources" が適切に埋め込まれたか、実行時にアセンブリ "***" にリンクされたか、または必要なサテライト アセンブリが読み込まれて完全に署名されていることを確認してください。」としてMissingManifestResourceExceptionが投げられるときには、リソースの読み込みの問題を確認します。MissingManifestResourceException 例外と MissingSatelliteAssemblyException 例外の処理 - ResourceManager クラス (System.Resources) | Microsoft Learn

GetObject()

現在の文化 (current culture) 用の文字列以外のリソースを取得できます。

public virtual object GetObject (
    string name,
    System.Globalization.CultureInfo culture
    );
GetObject(String, CultureInfo) - ResourceManager.GetObject Method (System.Resources) | Microsoft Learn

同じ名前のリソースをくり返し呼び出した場合、同じオブジェクトが返されるとは限りません。

Microsoft Learnから検索