对于.NET,我通常使用VB编写代码,但我不得不在C#中处理项目,并遇到了这个奇怪的问题。
我有3个类(Form1和2个在Form1上调用控件和方法的类)。
为了让生活更轻松,我在Program.cs中添加了:
public static Form1 form1 = new Form1(); // Place this var out of the constructor Application.Run(form1);
然后只需用以下内容调用Form1:
Program.form1.ResetForm();
虽然这里很奇怪。我可以在一个类上使用上面的确切行(例如,clsFoo.cls
)并且它工作正常,但是Program.form1.
上完全相同的行(以及使用clsBar.cls
的任何其他行)创建了标题中的错误。
当运行程序并且它在使用它的clsBar.cls中命中一行时,我得到了这个:
输出中显示错误:
抛出异常:' System.NullReferenceException'在YourProgram.exe中 类型为#System; TypeInitializationException'的未处理异常发生在未知模块中。 ' Your.Program'的类型初始值设定项。抛出异常。
从我能说的一切,我使用相同的名称空间,类名,用法等。我还在Form1&#39s的修饰符上设置任何相对控件。公共"
没有经验丰富的C#,我有点坚持这个。任何人都知道了什么?
答案 0 :(得分:0)
原来在调用Program.cs中初始化Form1的代码之前调用了该类中的代码。怪异。