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?
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:
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.
Tags und Links c# resharper dynamic nullreferenceexception