現在のスレッドの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とします。
文字列リソースの値を取得できます。
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
現在の文化 (current culture) 用の文字列以外のリソースを取得できます。
public virtual object GetObject ( string name, System.Globalization.CultureInfo culture );GetObject(String, CultureInfo) - ResourceManager.GetObject Method (System.Resources) | Microsoft Learn
同じ名前のリソースをくり返し呼び出した場合、同じオブジェクトが返されるとは限りません。