Nö, implicit heißt normale Zuweisung, explicit heißt, dass man einen Hardcast nutzen muss.
Hardcast, oder gleich den passenden Typen reinstecken. Also
myDatabaseField.Value
. Das will man im Endeffekt doch.
Oder ist es tatsächlich, wie Dejan Vu meint, nur als eine andere Schreibweise für Variants gedacht?
Delphi-Quellcode:
class operator Explicit(const from: Variant): Nullable<T>;
class operator Implicit(const from: T): Nullable<T>;
erlaubt:
Delphi-Quellcode:
var
myWrapper: TWrapper<Integer>;
myVariant: Variant;
begin
myWrapper := 42;
//myWrapper := 'Hallo'; // nope
myWrapper := Variant('Hallo');
// oder
myVariant := 'Hallo';
myWrapper := myVariant;
end.