获取当前的类实例

时间:2014-01-27 13:37:39

标签: c# class instance

您是否获得了班级的当前实例?

该类有搜索方法和取消方法。

代码示例:

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类,以便能够访问当前正在运行的实例。

1 个答案:

答案 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();
        }
    }
}