'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
的代码被调用之前被调用。奇怪。
对于 .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
的代码被调用之前被调用。奇怪。