-->

比较字符串为空 - 为什么ReSharper的认为这始终是假的呢?(Compare string t

2019-07-30 11:48发布

我在我的自定义的MembershipProvider这样的代码:

public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config)
{
    if (config == null)
        throw new ArgumentNullException("config");

    if (name == null)
        name = "MyCustomMembershipProvider";
    ...
}

ReSharper的标志着第二if语句,并告诉我,这将总是为false。

但是,为什么这总是为false? 我可以很容易地传递null到方法的参数。

这是一个bug或者是ReSharper的就在这里?

PS 1:我使用ReSharper的6.1
PS 2:我知道使用string.IsNullOrEmpty()是反正去这里的路。 我只是好奇。

Answer 1:

也许,参数name被标记为[NotNull] ReSharper的船舶与普通BCL类合同的元数据。



文章来源: Compare string to null - Why does Resharper think this is always false?