我在我的项目中进行代码转换并遇到了一个声明,它给了我这个错误"类型初始化程序引发了异常静态类"。
在Vba中,它完美无缺
Shared Sub New()
_instance = New Setting
End Sub
我使用一些工具将它转换为c#到这个语句中,这给了我那个错误
public const string id = "Resources";
private static PeModelSetting _instance;
static Setting()
{
_instance = new Setting();
}
// and access the function like this
Setting.GetConfig(Setting.id)
有谁知道如何解决这个问题?我尝试通过将其更改为非静态Contructor来更改c#代码,这将停止向我提供错误,但问题是此Setting类中的所有方法都是静态类型,这会给我另一个错误"无法访问实例引用"。
我可以将所有方法更改为非静态,但问题是有数百个文件正在访问此类,并且修改所有这些文件很麻烦。有没有其他方法可以做到这一点?最好的是Setting类可以保持静态。