¿Cómo sabe Resharper "La expresión siempre es verdadera"?

Verifique el siguiente código:

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

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

Resharper reclamatype nunca seranull. Eso es obvio para mí porque siempre habrá un tipo parabar, pero ¿cómo sabe Resharper eso? ¿Cómo puede saber que el resultado de un método nunca seránull.

Type no es una estructura, por lo que no puede ser eso. Y si el método fue escrito por mí, entonces el valor de retorno ciertamente podría sernull (no necesariamente GetType, sino algo más).

Sharperper es lo suficientemente inteligente como para saber que solo para ese método en particular el resultado nunca seránull? (Como si hubiera una lista codificada de métodos .Net conocidos que nunca devolverán nulo)

Respuestas a la pregunta(4)

Su respuesta a la pregunta