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:)