Сравните строку с нулем - Почему Решарпер считает, что это всегда ложь?

У меня есть этот код в моем пользовательском 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 методу в качестве параметра.

Это ошибка или Resharper прямо здесь?

PS 1: я использую Resharper 6.1
PS 2: я знаю, что с помощью string.IsNullOrEmpty() будет в любом случае путь сюда. Мне просто интересно.

1 ответ

Решение

Возможно, аргумент name помечен как [NotNull], Resharper поставляется с контрактными метаданными для распространенных классов BCL.

Другие вопросы по тегам