C# Skype 聊天机器人

C# Skype Chat Bot

所以,我正在制作一个简单的聊天机器人,但是当我尝试通过一个按钮将它附加到 Skype 时,它​​因溢出而崩溃,我正在学习教程并完成了教程中的所有操作,但它只是当我按下附加按钮时崩溃。我不知道为什么,因为它似乎适用于使用 Skype4COM.dll

的其他所有人
    private void Form1_Load(object sender, EventArgs e)
    {
    }

    private void materialRaisedButton1_Click(object sender, EventArgs e)
    {
        System.Windows.Forms.Application.Exit();

    }

    public Skype MySkype 
    { 
         get => MySkype; 
         set => MySkype = value; 
    }

    private void materialFlatButton1_Click(object sender, EventArgs e)
    {
        MySkype.Attach(5, false);
        MessageBox.Show("Process Atached " + MySkype.CurrentUserHandle);
    }
}

}

您收到 Whosebug 异常,因为 getset 访问器引用 属性 而不是您应该创建的私有字段;从本质上讲,这会导致无限递归循环,最终导致进程耗尽可用的 RAM.

你的 属性 应该是这样的:

public Skype MySkype 
{ 
       get => _mySkype; 
       set => _mySkype = value; 
}

应该始终致力于使用 _ 前缀命名私有字段,以将它们与属性区分开来。


另一种方法是:

Skype MySkype { get; set; }