5

クラス ライブラリ プロジェクトのファイルにアクセスする Windows アプリケーションがあります。

public static class Global
{
    private static ResourceManager ResourceManager { get; set; }

    static Global ()
    {
        ResourceManager = new ResourceManager("MyClassLibraryProject.Resource", Assembly.GetExecutingAssembly());
    }

    private static string GetValue (string name)
    {
        return (ResourceManager.GetString(name, Options.CultureInfo));
    }

    public static string ProductName
    {
        get
        {
            return (GetValue(MethodBase.GetCurrentMethod().Name.Replace("get_", "")));
        }
    }
}
`

ProductNameこの例では、プロパティを手動で作成しました。リソース ファイルの各行の厳密に型指定された名前に簡単にアクセスする方法はありますか?

4

1 に答える 1

5

これはあなたが探していることをするかもしれません: https://docs.microsoft.com/en-us/dotnet/framework/tools/resgen-exe-resource-file-generator

リソース プロパティの型は実行時に決定されるため、リソース ファイルのプリコンパイル時間を分析し、必要なプロパティを生成するツールが必要になります。Resgen.exe がこれを行いますが、カスタム t4 スクリプトなどを作成することもできます。

ドキュメントから:

次のコマンドは、XML ベースの入力ファイル myResources.resx を読み取り、myResources.resources という名前のバイナリ リソース ファイルを書き込みます。また、入力ファイルで参照されるリソースと一致する厳密に型指定されたプロパティを含む MyClass という名前のクラスを持つ MyFile.cs という名前の C# ファイルも生成します。MyClass クラスは、Namespace1 という名前の名前空間に含まれています。

resgen myResources.resx myResources.resources /str:C#,Namespace1,MyClass,MyFile.cs

于 2012-04-18T11:22:14.987 に答える