对象引用未设置为对象按钮按下事件的实例

本文关键字:事件 实例 按钮 设置 对象 对象引用 | 更新日期: 2023-09-27 18:05:02

我收到一条错误消息,我不知道如何修复它。这是我的原始代码:

private void SendMessage(Command cmd, EndPoint sendToEP)
{
    try
    {
        //Create the message to send.
        Data msgToSend = new Data();
        //msgToSend.strName = txtName.Text;   //Name of the user.
        msgToSend.cmdCommand = cmd;         //Message to send.
        msgToSend.vocoder = vocoder;        //Vocoder to be used.
        byte[] message = msgToSend.ToByte();
        //Send the message asynchronously.
        clientSocket.BeginSendTo(message, 0, message.Length, SocketFlags.None, sendToEP, new AsyncCallback(OnSend), null);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message, "UniProject-SendMessage ()", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
}

错误消息为(按钮按下事件(

对象引用未设置为对象的实例。

为什么我收到这个错误消息,我该如何修复它?

对象引用未设置为对象按钮按下事件的实例

每次收到这样的错误(NullReferenceException(时,代码中都会有设置为null的内容。你必须查看你的代码并确定:

  1. 错误发生在哪一行(用哪种方法(
  2. 这一行上的哪些变量是引用类型可为null的值类型常值类型(例如struct或整数、浮点、双精度(不能为null
  3. 在这些变量中,哪个可能null
  4. 这些变量在哪里可能设置为null
    例如,方法参数、方法返回的值或as运算符的结果可能导致变量为null

如果这些都不是,那么您可能有一个抛出此异常的方法(尽管可能性不大(。这个NET基类方法通常不会抛出这样的异常,如果您的代码确实抛出了异常,那么堆栈跟踪应该会将您带到最深的方法和执行该操作的行。