C#Skype聊天机器人
所以,我正在制作一个简单的聊天机器人,但当我试图通过一个按钮将其连接到skype时,它会因溢出而崩溃,我在遵循一个教程并完成了教程中的所有操作,但当我按下“连接”按钮时,它就会崩溃。Idk为什么?因为它似乎适用于使用Skype4COM.dll的所有其他人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
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,是的,我是新手,但是我经常犯这些基本的错误,从中学习,我只是觉得教程不会让我像那样挂在那里,我只是忘记了一些东西。