Warum schlägt ReSharper eine mögliche NullReferenceException für einen dynamischen Typ vor?

8

Wenn ich den folgenden Code schreibe, warnt mich ReSharper vor einem möglichen NullReferenceException . Allerdings suche ich explizit nach null in der obigen Aussage. Gibt es etwas über dynamic , von dem ich nichts weiß (geht es davon aus, dass es möglicherweise von einem IEnumerable oder etwas ähnlichem unterstützt wird)? Oder ist das ein Fehler mit ReSharper? Oder etwas anderes?

%Vor%     
Rick 26.03.2013, 16:05
quelle

2 Antworten

5

Das Problem ist, dass user == null ein dynamischer Aufruf ist; R # kann nicht davon ausgehen, dass der Laufzeittyp des Objekts user über einen Gleichheitsoperator verfügt, der ordnungsgemäß funktioniert. Es könnte sehr leicht haben:

%Vor%

In diesem Fall würde user == null immer false zurückgeben, selbst wenn die Variable user eine null Referenz wäre.

Versuchen Sie, den Code zu ändern:

%Vor%

Hinweis: Das Problem tritt nur auf, wenn die Option "Entitätswert kann NULL sein" auf "Wenn die Entität kein explizites NotNull-Attribut hat" gesetzt ist.

    
Richard Deeming 04.07.2013, 19:25
quelle
0

Versuchen Sie Folgendes:

%Vor%     
o0alex0o 04.07.2013 17:32
quelle