C# 无法访问字段,尽管该字段是公共的,并且已在构造函数中定义

C# 无法访问字段,尽管该字段是公共的,并且已在构造函数中定义,c#,asp.net,webforms,C#,Asp.net,Webforms,嗨,我正在尝试在表单之间引用。我得到了他的密码 main.cs namespace GDISClient { public class Program : ApplicationContext { public Form_main mainForm = null; public static int startvar = 0; private static void Main(string[] args) {

嗨,我正在尝试在表单之间引用。我得到了他的密码

main.cs

namespace GDISClient
{
    public class Program : ApplicationContext
    {
        public Form_main mainForm = null;

        public static int startvar = 0;

        private static void Main(string[] args)
        {
            var splash = new Splashscreen(new Form_main());
            Application.Run(splash);
        }
        public Program(Form_main mainForm)
        {
            this.mainForm = mainForm;

        }
    }
} 

splashScreen(表单)
命名空间GDISClient
{
公共部分类Splashscreen:表单
{
公共表格(主要表格);;
公共溅屏(主窗体)
{
this.mainForm=mainForm;
}
private System.ComponentModel.IContainer components=null;
受保护的覆盖无效处置(布尔处置)
{
if(处理和(组件!=null))
{
组件。Dispose();
}
基地。处置(处置);
}
专用pwencode编码器=新pwencode();

私有dbcon mysqlcon=新dbcon(mainForm)你的
mainForm
尚未初始化。在构造函数中创建
dbcon
,并在那里传递对
mainForm
的引用。

你的
mainForm
尚未初始化。在构造函数中创建
dbcon
并在那里传递对
mainForm
的引用。

根据我对你任务的理解问题在于:

public Form_main mainForm;  // Declared but not Initialized 
private dbcon mysqlcon = new dbcon(mainForm);  // using a variable that has not been initialized
解决方案: 用给定的
构造函数
替换
飞溅屏幕
构造函数

public Splashscreen(Form_main mainForm)
{
    this.mainForm = mainForm;
    private dbcon mysqlcon = new dbcon(mainForm);
}

根据我对你问题的理解,问题在于:

public Form_main mainForm;  // Declared but not Initialized 
private dbcon mysqlcon = new dbcon(mainForm);  // using a variable that has not been initialized
解决方案: 用给定的
构造函数
替换
飞溅屏幕
构造函数

public Splashscreen(Form_main mainForm)
{
    this.mainForm = mainForm;
    private dbcon mysqlcon = new dbcon(mainForm);
}

什么是
dbcon
?dbcon是一个类,谁需要引用main表单…显示该类?我会更新我的帖子,所以它的显示会使它在公共的情况下工作?私有dbcon mysqlcon=new dbcon(main表单);什么是
dbcon
?dbcon是一个类,需要引用main表单…显示该类?我会更新我的帖子,所以它的显示会使它在公共的情况下工作?私有dbcon mysqlcon=new dbcon(main表单);注意:新用户必须考虑到这一点,如果他们发现答案正确并解决了问题,请将其标记为答案。这就是这里的工作原理。欢迎使用SO:)注意:新用户必须考虑到这一点,如果他们发现答案正确并解决了问题,请将其标记为答案。事情就是这样在这里工作。欢迎来到SO:)