3

C# と .NET 4.5 を使用して、Windows フォーム アプリケーションで resgen.exe を使用して StronglyTypedClass ファイルを生成しています。

構文によると、StringResources クラスをパブリックとして作成できますが、コンストラクターは内部のままです。

resgen inputFilename [outputFilename] /str:language[,namespace,[classname[,filename]]] [/publicClass]

この引数を [/publicClass] にすると、クラスはパブリックになりますが、コンストラクターは内部のままです。

internal StringResources() {}

これを達成する方法を提案してください。

4

1 に答える 1

2

チームメイトは、xaml でリソースを使用したいため、そのコンストラクターを公開したいと考えていた可能性が非常に高いです。

リソース ファイルを継承し、パブリック コンストラクターを公開するクラスを同じアセンブリ内に作成するだけで、代わりにこのクラスを使用できます。

public class ResourcesProxy : Properties.Resources
{
    /// <summary>
    /// resolves the problem of internal constructor in resources.designer.cs
    /// in conjunction with xaml usage
    /// </summary>
    public ResourcesProxy() : base()
    {
    }
}
于 2013-04-23T16:12:50.827 に答える