阻止在C#中进一步执行调用函数

本文关键字:执行 调用 函数 进一步 | 更新日期: 2023-09-27 18:28:13

我有一个函数,它在点击按钮时执行,看起来像这个

private void Login_Button_Click(object sender, RoutedEventArgs e)
    {
        if (!CheckFields())
            return;
        if (!WritePerforceSettingsXml(rewriteSettingsCheckbox.IsChecked.Value))
            return;
        Dictionary<string, string> installerToUpdateList = new Dictionary<string, string>();
        if (!GetUpdateListFilesFromXml(ref installerToUpdateList))
            return;            
       //some code
    }

正如你所看到的,我有一些函数可以检查输入值的正确性,或者里面只有"try-catch"运算符,如果发生"catch"情况或输入无效,则应阻止调用方(Login_Button_Click函数)的进一步执行
但是所有返回"bool"的函数看起来并不像我想的那样正确。

是否有其他方法可以阻止调用函数的进一步执行?

阻止在C#中进一步执行调用函数

我将反转布尔条件:

private void Login_Button_Click(object sender, RoutedEventArgs e)
{
    if (CheckFields() && WritePerforceSettingsXml(rewriteSettingsCheckbox.IsChecked.Value))
    {
        Dictionary<string, string> installerToUpdateList = new Dictionary<string, string>();
        if (GetUpdateListFilesFromXml(ref installerToUpdateList))
        {         
            //some code
        }
    }
}

通过这种方式,您可以更清楚、更容易地进行正向检查,还可以减少函数中的数字或返回值,从而提高可读性。该代码的行数也较少。