C#中的nodiscard属性

时间:2016-10-11 14:31:17

标签: c# attributes

我正在寻找一种方法,使方法的用户忽略方法的返回对象/值是非法的。在C ++中,使用[[nodiscard]]属性可以实现这一点。但是,我在C#中找不到类似的属性。是否有关于如何实现此行为的此类属性或约定的标准实现?

作为一个例子,为什么这可能是有用的(如果的例外是适当的方式:

public void foo()
{
    if (condition)
    {
        DoSomeFinalThing();
        return;
    }
    if (othercondition)
    {
        DoSomeOtherFinalThing();
        // whoops, forgot to return here. Common mistake...
    }
    DefaultAction();
}

是的,这也可以用else完成,但我真的不喜欢我的代码中的深层嵌套。

0 个答案:

没有答案