您是否获得了班级的当前实例?
该类有搜索方法和取消方法。
代码示例:
if (btnSearch.Text =="Search")
{
Searcher srch = new Searcher();
srch.Search();
btnSearch.Text = "Cancel";
return;
}
if (btnSearch.Text == "Cancel")
{
//call a method in the instance above for example
srch.Cancel();
}
我想仅在btnSearch.Text ==“搜索”时创建实例;当btnSearch.Text ==“取消”时;我想打电话给srch.Cancel();
//// 感谢nmclean,问题解决了,我有必要在更高的范围内声明Search类,以便能够访问当前正在运行的实例。
答案 0 :(得分:7)
您的srch
变量必须在比函数更高的范围内声明,否则在下次调用函数时它不会持久存在。这很可能意味着它应该是该类的一个领域:
class YourClass
{
private Searcher srch;
void YourMethod()
{
if (btnSearch.Text == "Search")
{
srch = new Searcher();
srch.Search();
btnSearch.Text = "Cancel";
return;
}
if (btnSearch.Text == "Cancel")
{
srch.Cancel();
}
}
}