C# 构建和使用闪烁体.NET时出现的问题
由于兼容性问题,我正在使用/building并将项目切换到.NET2.0 它可以工作,但当我单击“新建选项卡”按钮时,会出现一个错误,显示: 对象引用未设置为 对象的实例 此代码中出现问题:C# 构建和使用闪烁体.NET时出现的问题,c#,winforms,visual-studio-2010,.net-2.0,C#,Winforms,Visual Studio 2010,.net 2.0,由于兼容性问题,我正在使用/building并将项目切换到.NET2.0 它可以工作,但当我单击“新建选项卡”按钮时,会出现一个错误,显示: 对象引用未设置为 对象的实例 此代码中出现问题: ScintillaNet.Scintilla currentScin; Stream Stream1; public List <ScintillaNet.Scintilla> ScinList; //Code for various events private void New_Cli
ScintillaNet.Scintilla currentScin;
Stream Stream1;
public List <ScintillaNet.Scintilla> ScinList;
//Code for various events
private void New_Click(object sender, EventArgs e)
{
TabPage tabp = new TabPage();
ScintillaNet.Scintilla scin = new ScintillaNet.Scintilla();
scin.Dock = DockStyle.Fill;
scin.Margins[0].Width = 20;
scin.ConfigurationManager.CustomLocation = "My Styles";
scin.ConfigurationManager.Language = "lua";
scin.Parent = tabp;
// This line throws "Object reference not set to an instance of an object."
ScinList.Add(scin);
tabControl1.TabPages.Add(tabp);
}
闪烁体。闪烁体电流scin;
溪流1;
公开名单;
//各种活动的代码
私有无效新建\u单击(对象发送者,事件参数e)
{
TabPage tabp=新TabPage();
闪烁体。闪烁体scin=新闪烁体。闪烁体();
scin.Dock=DockStyle.Fill;
页边空白[0]。宽度=20;
scin.ConfigurationManager.CustomLocation=“我的风格”;
scin.ConfigurationManager.Language=“lua”;
scin.Parent=tabp;
//这一行抛出“对象引用未设置为对象的实例”
ScinList.Add(scin);
tabControl1.TabPages.Add(tabp);
}
问题是您没有初始化ScinList
更改此项:
public List<ScintillaNet.Scintilla> ScinList;
公共列表列表;
为此:
public List<ScintillaNet.Scintilla> ScinList = new List<ScintillaNet.Scintilla>();
public List ScinList=new List();
问题是您没有初始化ScinList
更改此项:
public List<ScintillaNet.Scintilla> ScinList;
公共列表列表;
为此:
public List<ScintillaNet.Scintilla> ScinList = new List<ScintillaNet.Scintilla>();
public List ScinList=new List();
看起来您定义了公共字段列表:
public List <ScintillaNet.Scintilla> ScinList;
公共列表列表;
但您从未实际创建新列表并将其分配给您的字段:
public List <ScintillaNet.Scintilla> ScinList = new List<ScintillaNet.Scintilla>();
public List ScinList=new List();
看起来您定义了公共字段列表:
public List <ScintillaNet.Scintilla> ScinList;
公共列表列表;
但您从未实际创建新列表并将其分配给您的字段:
public List <ScintillaNet.Scintilla> ScinList = new List<ScintillaNet.Scintilla>();
public List ScinList=new List();
问题在于您尚未初始化ScinList
。类的字段初始化为其默认值,在本例中为null
您需要在某个地方初始化它,或者在声明它的地方
public List<ScintillaNet.Scintilla> ScinList = new List<ScintillaNet.Scintilla>();
public List ScinList=new List();
。。。或者在构造函数中
public CLASSNAMEHERE()
{
ScinList = new List<ScintillaNet.Scintilla>();
}
public CLASSNAMEHERE()
{
ScinList=新列表();
}
如果这一行确实出现在您的代码中,请使用这样做的代码编辑您的问题。问题在于您尚未初始化
ScinList
。类的字段初始化为其默认值,在本例中为null
您需要在某个地方初始化它,或者在声明它的地方
public List<ScintillaNet.Scintilla> ScinList = new List<ScintillaNet.Scintilla>();
public List ScinList=new List();
。。。或者在构造函数中
public CLASSNAMEHERE()
{
ScinList = new List<ScintillaNet.Scintilla>();
}
public CLASSNAMEHERE()
{
ScinList=新列表();
}
如果这一行确实出现在您的代码中,请使用代码编辑您的问题。我不知道您必须初始化列表。。我想不出我为什么不这么做。谢谢,我没意识到你必须初始化列表。。我想不出我为什么不这么做。谢谢