繁体   English   中英

如何在 c# 中停止调用父方法的执行?

[英]How to stop the execution of the calling parent method in c#?

调用父方法:

public void Script()
{
    string str = "some text";
    var someText = !CheckStr(str);
    if (someText)
    {
        return;
    }

    str = "some other text";
    var someOtherText = !CheckStr(str);
    if (someOtherText)
    {
        return;
    }

    str = "some other other text";
    var someOtherOtherText = !CheckStr(str);
    if (someOtherOtherText )
    {
        return;
    }

    // ...continue
}

被调用的方法:

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

    // ...additional checks

    return true;
}

有没有办法如果CheckStr()返回false它还会阻止Scripts()方法进一步执行?

现在我必须在Script()方法中做一堆if检查,感觉有点像我在重复自己的if statement在每个CheckStr()之后做同样的事情。 如果CheckStr()停止执行Script()会更好。 这样的事情可能吗?

是的,您可以抛出异常。

它将中断调用“父母”(和他们的“父母”),直到某个地方有一个执行处理程序(try-catch 块)。 只是谷歌抛出异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM