项目场景:
C#开发 未将对象引用设置到对象实例
例如:图片所示:
问题及解决方案:
这里描述项目中遇到的问题:
运行的时候突然提示对象未实例化
/*错误例子1.:
没有正确的实例化对象
private SetTime setTime;
*/
public partial class Form1 : Form
{
private SetTime setTime;
public Form1()
{
InitializeComponent();
string timecout = setTime.cout;
MessageBox.show(timecout);
}
}
/*正确是改为 private SetTime setTime = new SetTime()*/
/*错误例子2.
对象的实例化不在同一个函数体内
*/
public partial class Form1 : Form
{
private SetTime setTime;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
setTime = new SetTime();
}
private void ToolStripMenuItem_Click(object sender, EventArgse)
{
/**报错**/
string timecout = setTime.cout;
MessageBox.show(timecout);
}
/*错误原因:虽然在全局定义了,但是实例化的位置是另外一个函数。
同个类中两个独立没联系函数A、B。A函数里的语句对函数B来说神圣不可侵犯。
所以在B中,setTime是没有被引用实例化的。*/
原因分析:
C#对象创建实例化的不规范解决方案:
/*****正确例子1.如果一个对象想要全局通用*****/
public partial class Form1 : Form
{
private SetTime setTime = new SetTime();
public Form1()
{
InitializeComponent();
}
}
/*******正确例子2.在函数体里面声明,引用对象*************/
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
private SetTime setTime = new SetTime();
}
}