从另一个方法停止执行该方法

时间:2015-02-10 14:32:34

标签: c# visual-studio-2013

请告诉我如何从Script()停止执行CheckStr()

示例

public void Script()
{
// ...
    string str = "error";
    CheckStr(str);
// ...
}
public void CheckStr(string str)
{
    if (str == "error")
    {
         // stop Script();
    }
}

3 个答案:

答案 0 :(得分:1)

您可以让CheckStr()返回一个值:

public void Script()
{
    string str = "error";
    if (!CheckStr(str))
    {
        return;
    }

    // ...continue
}

public bool CheckStr(string str)
{
    if (str == "error")
    {
        return false;
    }

    // ...additional checks

    return true;
}

答案 1 :(得分:1)

最简单的方法是让CheckStr返回结果,例如true/false

public bool CheckStr(string str)
{
    if (str == "error")
    {
        return false;
    }
    ...
    return true;
}

public void Script()
{
    // ...
    string str = "error";
    if (CheckStr(str) == false)
    {
        return;
    }
    // ...
}

答案 2 :(得分:1)

您可以从CheckStr引发异常,但我不确定这是否可以解决您的特定问题:

public void CheckStr(string str)
{
    if (str == "error")
    {
         throw new Exception();
    }
}

然后你可以在Script或其他地方抓住它:

public void Script()
{
// ...
    string str = "error";
    try {
       CheckStr(str);
    }
    catch
    {
        // handle excpetion here.
    }
// ...
}