无法从表单代码实例化类的公共实例

时间:2015-02-19 15:09:05

标签: c# winforms class instantiation

我正在使用c#中的Windows窗体应用程序工作,但我无法弄清楚为什么我可以从表单代码中实例化一个类对象。我有几个类,从所有这些类中我可以公开地实例化其他类的实例,或者只是在方法中实例化没有问题。 但是,当我尝试从我的主窗体中实例化其中一个类时,它不起作用。

enter image description here

它甚至没有意识到我刚刚创建了一个类的实例。 真正的踢球者是我可以在我的frmMain类中的方法中成功实例化一个类:

 private void Form_Load()
    {
    long deltaTime; int i; int page;

      if (releaseMode)
      {
          modCanCable can = new modCanCable();
          can.WaitWhileBusy();
      }

所有类和表单类也在同一名称空间下。如果您需要我提供更多信息以帮助我找到答案,请与我们联系!

3 个答案:

答案 0 :(得分:1)

在C#中,所有代码都必须在方法内。行modCanCable can = new modCanCable();声明了一个私有字段,并使用field initializer将其初始化为新的modCanCable实例。对can字段的任何其他引用必须在方法体内。

答案 1 :(得分:1)

您只能在类级别声明全局变量。必须在属性,方法或函数内部使用该全局变量。

对于全局枚举器,声明它就像任何其他变量

一样
private EnumeratorClass VariableName;

示例(遵循命名约定)

private MyEnum _myVariableName;

答案 2 :(得分:0)

必须在方法或构造函数中完成。你不能把它放在课堂上。

public partial class frmMain : Form
{
    modCanCable cab = new modCanCable();
    public frmMain()
    { 
         cab.property = "asd";   
    }
}