Lass uns noch ein bisschen drehen
Ein bisschen.
Daher gibts den Overload für Variant, so dass der Variant nicht erst in eine Null
exception läuft sondern das "auspacken" dem Nullable überlässt.
Das sehe ich ja voll und ganz ein. Nur nicht, warum es
implizit sein muss.
Ist es explizit, kann man weiterhin alle
TField.Value
reinstecken. Oder
IXMLNode.Value
. Oder was auch immer. Was würde man dadurch verlieren?
Guck dir einfach die Doku zu implicit und explicit Operator overloads an denn du scheinst offensichtlich miszuverstehen, was implizit und explicit bedeutet.
Der Fakt, dass ein string in einen Variant gecastet wird und dann an den Variant Overload übergeben wird, hat nix mit dem Overload zu tun, sondern damit, wie Variants funktionieren.
P.S. Was macht eigtl dein Add overload bei Typen, bei denen es keine Addition gibt?
Das war einfach nur Wunschdenken und ich wollte auch mal komische Sachen schreiben. Liegt wohl am Wetter
Schade, dachte du hättest da einen Trick gefunden. Bei einem im Compiler eingebauten nullable werden die ja die Operatoren des parameter Typs
ge"lifted".