告诉 resharper 一个 Func<string> 永远不会返回 null


[NotNull]
private readonly Func<string> FunctionThatWillNeverBeNullNorReturnNull;
void Test(){
    string thisStringIsNotNull = FunctionThatWillNeverBeNullNorReturnNull();
}

如何告诉锐化器上述函数永远不会返回空值?输入 [NotNull] 意味着函数引用不能为空,但我不确定如何告诉 resharper 它返回的内容也不会为空。

我所做的是创建一个可以注释的委托。

但是,ReSharper 不会显示返回值的警告。它仅适用于委托参数。

[CanBeNull]
public delegate string ReturnMaybeNull();
[NotNull]
public delegate string ReturnNotNull([NotNull]string someParam);
[NotNull]
private readonly ReturnMaybeNull FunctionThatMayReturnNull = () => null;
[NotNull]
private readonly ReturnNotNull FunctionThatNeverReturnsNull = someParam => null; // no warning
void Test()
{
    bool test = FunctionThatMayReturnNull().Equals(""); // no warning
    string thisStringIsNotNull = FunctionThatNeverReturnsNull(null); // parameter warning here
    if (thisStringIsNotNull == null) // no warning
    {
        test = test ^ true;
    }
}

相关内容

  • 没有找到相关文章

最新更新