C#-在访问方法之前检查条件

本文关键字:检查 条件 方法 访问 C#- | 更新日期: 2023-09-27 18:28:53

在访问方法之前检查条件的最佳实现是什么?

与在每个方法的顶部使用If语句或在每个方法中使用异常处理不同,我从属性中了解到,它们可以在访问方法之前用特定的操作标记方法,我在asp.net中看到了这一点,一些java web框架可以使用类似身份验证的方法,我可以在我的方法顶部添加注释或属性,以在访问该方法之前检查该用户是否获得授权。

现在,我可以编写自己的自定义属性来检查互联网连接吗?例如,在访问方法之前?

我不是在要求一些代码,我只是想确认我走在正确的道路上。

C#-在访问方法之前检查条件

如果没有进一步的说明,我无法准确地说出你想做什么,但有一种流行的方法可以在执行代码之前检查条件,这种方法不需要使用属性/大型嵌套if s。它被称为保护子句。它在构造函数注入中非常流行,但也有许多很棒的用例。

下面是一个方法的示例,该方法使用guard子句来验证是否向该方法传递了有效的InternetConnection

public void DoSomethingWithInternetConnection(InternetConnection internetConnection)
{
    // Guard clause
    if(internetConnection == null)
    {
        throw new ArgumentNullException();
    }
    // Execute code that requires a valid internet connection
    internetConnection.DoSomething();
}

您应该能够看到如何扩展它来检查其他场景,或者在其他地方使用它。