如何在使用带有C#和.NET 4.5的resgen.exe生成的StronglyTypedClass文件中将Constructor StringResources设置为public

时间:2013-01-24 10:09:19

标签: c# .net resgen

我在使用C#和.NET 4.5的Windows窗体应用程序中使用resgen.exe生成了一个StronglyTypedClass文件

根据语法,我可以将StringResources类设为public,但构造函数仍然是内部的。

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

当我把这个参数[/ publicClass]时,它只是使该类成为公共类,但构造函数仍然是内部的。

internal StringResources() {}

请建议,如何实现这一点。

1 个答案:

答案 0 :(得分:1)

你的队友很可能希望将该构造函数公开,因为他想使用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()
    {
    }
}