如何修复两个类之间发生的空引用异常

本文关键字:异常 引用 之间 何修复 两个 | 更新日期: 2023-09-27 18:12:20

如何修复两个类之间发生的空引用异常?
•我在Windows 7上使用Visual Studio 2012。

我是c#新手,但我两天前开始做我的项目。
我正面临着这个问题(空引用异常发生),整天试图修复它,搜索stackoverflow和谷歌很多,但仍然找不到解决方案。
我已经简化了我的错误代码。

下面是我的代码:

Form1

namespace test1  
{  
    using System;  
    using System.Collections.Generic;  
    using System.ComponentModel;  
    using System.Data;  
    using System.Drawing;  
    using System.Linq;  
    using System.Text;  
    using System.Threading.Tasks;  
    using System.Windows.Forms;  
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        public void button1_Click(object sender, EventArgs e)
        {
            new Class1().Message();
        }
    }
}  

Class1

namespace test1  
{  
    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Text;  
    using System.Threading.Tasks;  
    public class Class1
    {
        public static Form1 MainWindow;
        public void Message()
        {
            Mess("asdasd");
        }
        public void Mess(string msg)
        {
                Class1.MainWindow.globalchat.AppendText(msg);
        }
    }
}

出错行:Class1.MainWindow.globalchat.AppendText(msg);

如何修复两个类之间发生的空引用异常

您的MainWindow属性未初始化。

如果使用您的代码,然后放入Form1的构造函数

public Form1()
{
    InitializeComponent();
    Class1.MainWindow = this;
}