Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在使用resgen.exe与C#和.NET 4.5生成的StronglyTypedClass文件中公开构造函数StringResources_C#_.net_Resgen - Fatal编程技术网

如何在使用resgen.exe与C#和.NET 4.5生成的StronglyTypedClass文件中公开构造函数StringResources

如何在使用resgen.exe与C#和.NET 4.5生成的StronglyTypedClass文件中公开构造函数StringResources,c#,.net,resgen,C#,.net,Resgen,我一直在使用C#和.NET 4.5在Windows窗体应用程序中使用resgen.exe生成StronglyTypedClass文件 根据语法,我可以将StringResources类设置为公共类,但构造函数仍然是内部的 resgen inputFilename [outputFilename] /str:language[,namespace,[classname[,filename]]] [/publicClass] internal StringResources() {} 当我使用这

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

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

resgen inputFilename [outputFilename] /str:language[,namespace,[classname[,filename]]] [/publicClass]
internal StringResources() {}
当我使用这个参数[/publicClass]时,它只是使类成为公共的,但构造函数仍然是内部的

resgen inputFilename [outputFilename] /str:language[,namespace,[classname[,filename]]] [/publicClass]
internal StringResources() {}

请建议如何实现这一点。

很可能您的队友希望将该构造函数公开,因为他希望使用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()
    {
    }
}
公共类资源Proxy:Properties.Resources
{
/// 
///解决resources.designer.cs中的内部构造函数问题
///结合xaml使用
/// 
公共资源Proxy():base()
{
}
}

如何要求构造函数是公共的?这是我的问题。实际上,默认情况下,这个工具ResGen.exe可以使类成为公共的,但构造函数仍然是内部的。我的一个队友已经决定以某种方式公开此事。我尝试了MSDN帮助,但似乎没有多大帮助。基本上,我想在生成cs文件时执行此操作,但如果无法执行此操作,则可以在生成文件后再次读取该文件,并将此内部文件公开。然而,我认为这不是一个好的和适当的解决办法,这应该被标记为答案。解决方案是如此简单,但我一直试图记住每次都将构造函数公开,但当我的内存拒绝记住时,就没能做到这一点。谢谢你的解决方案。在我的例子中,我是作为静态资源通过XAML访问资源类的,当构造函数是内部的时,它无法工作。@adabyron-我尝试过,但尽管基类属性确实出现在“创建数据绑定”对话框中,但在运行时我收到绑定路径错误: