C#Skype聊天机器人

C#Skype聊天机器人,c#,process,bots,skype,chatbot,C#,Process,Bots,Skype,Chatbot,所以,我正在制作一个简单的聊天机器人,但当我试图通过一个按钮将其连接到skype时,它会因溢出而崩溃,我在遵循一个教程并完成了教程中的所有操作,但当我按下“连接”按钮时,它就会崩溃。Idk为什么?因为它似乎适用于使用Skype4COM.dll的所有其他人 private void Form1_Load(object sender, EventArgs e) { } private void materialRaisedButton1_Click(object s

所以,我正在制作一个简单的聊天机器人,但当我试图通过一个按钮将其连接到skype时,它会因溢出而崩溃,我在遵循一个教程并完成了教程中的所有操作,但当我按下“连接”按钮时,它就会崩溃。Idk为什么?因为它似乎适用于使用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);
    }
}

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

您的财产应该是这样的:

public Skype MySkype 
{ 
       get => _mySkype; 
       set => _mySkype = value; 
}
您应该始终以使用
\uuu
前缀命名私有字段为目标,以将它们与属性区分开来


另一种方法是:

Skype MySkype { get; set; }

MySkype
是一个属性,您在它的getter和setter中引用它自己。属性应该被定义为
publicskypemyskype{get;set;}
ooooooohh,是的,我是新手,但是我经常犯这些基本的错误,从中学习,我只是觉得教程不会让我像那样挂在那里,我只是忘记了一些东西。