我在我的项目中进行代码转换并遇到了一条语句,它给了我这个错误“类型初始化程序抛出了一个异常静态类”。
在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)
有谁知道如何解决这个问题?我试图通过将 c# 代码更改为非静态构造函数来对其进行更改,这将停止给我错误,但问题是此 Setting 类中的所有方法都是静态类型,这会给我另一个错误“无法访问实例参考”。
我可以将所有方法更改为非静态方法,但问题是有数百个文件正在访问此类,并且修改所有文件是一件很痛苦的事情。有没有其他方法可以做到这一点?最好的是 Setting 类可以保持静态。