'System.TypeInitializationException' 类型的未处理异常发生在未知模块中

Unhandled exception of type 'System.TypeInitializationException' occurred in Unknown Module

对于 .NET,我通常在 VB 中编写代码,但我不得不在 C# 中处理一个项目,并遇到了这个奇怪的问题。

我有 3 个 class 元素(Form1,还有 2 个添加的 class 元素调用 Form1 上的控件和方法。

为了让生活更轻松,我在 Program.cs 中添加了:

public static Form1 form1 = new Form1(); // Place this var out of the constructor Application.Run(form1);

然后用类似的东西调用 Form1 东西:

Program.form1.ResetForm();

这就是它变得奇怪的地方。我可以在一个class(比如clsFoo.cls)上使用上面那条确切的线并且它工作正常,但是,在[=19上使用完全相同的线(以及任何其他使用Program.form1.) =] 在标题中创建错误。

当 运行 程序和它命中 clsBar.cls 中使用它的一行时,我得到这个:

并且输出中显示的错误:

Exception thrown: 'System.NullReferenceException' in YourProgram.exe An unhandled exception of type 'System.TypeInitializationException' occurred in Unknown Module. The type initializer for 'Your.Program' threw an exception.

据我所知,我使用的是完全相同的命名空间、class 名称、用法等。我还在 Form1 的修饰符上设置了任何相关控件以Public.

不是超级有经验w/C#,我有点卡在这个上面了。有人知道怎么回事吗?

结果是 class 中的代码在 Program.cs 中初始化 Form1 的代码被调用之前被调用。奇怪。