@RichK, ты прав. Решарпер не сможет это сделать.

рьте следующий код:

private void Foo(object bar)
{
   Type type = bar.GetType();

    if (type != null) // Expression is always true
    {   
    }
}

Решарпер утверждаетtype не будет никогдаnull, Это очевидно для меня, потому что всегда будет тип дляbarНо как Решарпер узнает об этом? Как он может знать, что результат метода никогда не будетnull.

Type это не структура, так что не может быть так. И если бы метод был написан мной, то возвращаемое значение может бытьnull (не обязательно GetType, но что-то еще).

Решарпер достаточно умен, чтобы знать, что только для этого конкретного метода результат никогда не будетnull ? (Как будто есть жестко закодированный список известных методов .Net, которые никогда не будут возвращать ноль)