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 异常,因为 get
和 set
访问器引用 属性 而不是您应该创建的私有字段;从本质上讲,这会导致无限递归循环,最终导致进程耗尽可用的 RAM.
你的 属性 应该是这样的:
public Skype MySkype
{
get => _mySkype;
set => _mySkype = value;
}
您应该始终致力于使用 _
前缀命名私有字段,以将它们与属性区分开来。
另一种方法是:
Skype MySkype { get; set; }
所以,我正在制作一个简单的聊天机器人,但是当我尝试通过一个按钮将它附加到 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 异常,因为 get
和 set
访问器引用 属性 而不是您应该创建的私有字段;从本质上讲,这会导致无限递归循环,最终导致进程耗尽可用的 RAM.
你的 属性 应该是这样的:
public Skype MySkype
{
get => _mySkype;
set => _mySkype = value;
}
您应该始终致力于使用 _
前缀命名私有字段,以将它们与属性区分开来。
另一种方法是:
Skype MySkype { get; set; }