Wenn ich einen generischen Typparameter habe, der ein Werttyp ist, und ich möchte wissen, ob ein Wert dem Standard entspricht, teste ich es wie folgt:
%Vor%Wenn ich keinen generischen Typparameter habe, scheint es, als ob ich Reflection benutzen müsste. Wenn die Methode für alle Wertetypen funktionieren soll, dann Gibt es eine bessere Möglichkeit, diesen Test durchzuführen als das, was ich hier mache? :
%Vor%Nebenbei bemerkt: Gibt es etwas, was ich hier nicht im Hinblick auf die Auswertung von Nullable-Strukturen betrachte?
Übrigens: Gibt es etwas, das ich hier nicht in Betracht ziehe? bezüglich der Auswertung von Nullable-Strukturen?
Ja, du verpasst etwas. Wenn Sie einen object
als Parameter in sich verwenden, müssen Sie den Code Nullable<T>
types eingeben (der sie in null oder in ihren T
-Wert konvertiert). Wenn Sie also ein NULL-Zeichen übergeben, wird Ihr is/throw
übergeben, weil null
niemals ein Werttyp ist.
Bearbeiten: Wie @cdhowie gesagt hat, müssen Sie nach null suchen. Dies funktioniert auch für Nullable-Typen.
Tags und Links c# reflection struct default default-constructor