比较字符串为null - 为什么Resharper认为这总是假的?

时间:2012-07-17 19:41:36

标签: c# .net string resharper membership-provider

我在自定义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。

resharper message

但为什么这总是评估为假?我可以很容易地将null作为参数传递给方法。

这是一个错误还是Resharper就在这里?

PS 1:我使用Resharper 6.1
PS 2:我知道使用string.IsNullOrEmpty()无论如何都要去这里。我只是好奇。

1 个答案:

答案 0 :(得分:15)

可能论证name被标记为[NotNull]。 Resharper附带了普通BCL类的合同元数据。