Warum macht Reshaper die folgende Empfehlung?

7

Mein Code ist ...

%Vor%

Resharper empfiehlt ...

%Vor%     
JeremyWeir 26.02.2009, 19:25
quelle

6 Antworten

13

Weil es nicht weiß, ob T ein Werttyp oder Referenztyp ist, so dass der Code mit beiden funktioniert.

    
Bearddo 26.02.2009, 19:26
quelle
12

Ich zweite Berado Antwort, aber würde hinzufügen, dass Sie dies durch Hinzufügen der Einschränkung unten verhindern können:

%Vor%     
Michael Meadows 26.02.2009 19:27
quelle
2

Dies ist offensichtlich ist nicht was Sie in diesem Fall wollen, aber es versucht nur, hilfreich zu sein, stellt sicher, dass Sie keinen Bug einführen, indem Sie vergessen, dass Referenztypen für% verwendet werden können. Code%. Wie @Michael Meadows sagte, Sie wollen wahrscheinlich Fügen Sie die T Einschränkung zu class hinzu.

    
bdukes 26.02.2009 19:30
quelle
1

Diese beiden Methoden sind nicht gleichwertig. Der erste erlaubt AssertNotNull ("foo", 0), während der zweite wirft. Ich denke, Resharper ist in diesem Fall übereifrig.

    
Greg 26.02.2009 19:29
quelle
0

Ich nehme an, weil T ein Nicht-Referenztyp sein könnte.

    
Tundey 26.02.2009 19:30
quelle
0

Wenn Sie wissen, dass T immer eine Klasse sein wird, fügen Sie eine where-Klausel hinzu, um dies zu sagen, dann ist Ihr ursprünglicher Code in Ordnung.

%Vor%     
Damien McGivern 26.02.2009 20:13
quelle

Tags und Links