c# – 将字符串比较为null – 为什么Resharper认为这总是假的?

我的自定义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-Statement,并告诉我,它总是会被评估为false.

但是为什么总是这样评价呢?我可以很容易地将null作为参数传递给方法.

这是一个bug还是Resharper在这里?

PS 1:我使用Resharper 6.1
PS 2:我知道使用string.IsNullOrEmpty()将是这里的方式.我只是好奇.

最佳答案
参数名称可能被标记为[NotNull]. Resharper拥有通用BCL类的合同元数据.

转载注明原文:c# – 将字符串比较为null – 为什么Resharper认为这总是假的? - 代码日志