Thema: Delphi Spring4D: Nullables

Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.159 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

Spring4D: Nullables

  Alt 13. Nov 2015, 13:11
Eine Verständnisfrage zu Nullable<T> in Spring4D:

Delphi-Quellcode:
procedure test();
var
   numberValue: Spring.Nullable<Integer>;
begin
   numberValue := 99.0;
   numberValue := TObject.Create();
end;
Der Compiler hat nichts dagegen, einem Nullable<Integer> praktisch alles mögliche zuzuweisen. Das liegt daran, dass für ein Nullable eine implizite Operator-Überladung für Variant definiert ist:

class operator Implicit(const value: Variant): Nullable<T>;


Kritik an Spring4D kann ich mir nicht erlauben, aber ich finde das schrecklich. Warum sollte man so etwas wollen? Zwischen Nullable<T> und T hin und her ist klar, aber warum Variant zu Nullable<T> generell erlauben?
  Mit Zitat antworten Zitat