Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Kann operator "as T" fehlschlagen, wenn operator "is T" OK war ?

  Alt 28. Jul 2022, 15:50
Wenn es bei ErrorAt knallt, dann stimmt der Typ in T nicht mit dem im Sender übererin.

Wenn ich alles rauswerfe, was doppelt ist, da IS es bereits macht (GUARD), dann bleibt das übrig:
Delphi-Quellcode:
class function TMyCast<T>.CanCast( Sender : TObject ) : Boolean;
begin
  Result := Sender is T;
end;

class function TMyCast<T>.TryCast( Sender : TObject; var ACasted : T ) : Boolean;
begin
  ACasted := nil;
  Result := Sender is T;
  if Result then
    ACasted := Sender as T; // oder := T(Sender);
end;
$2B or not $2B
  Mit Zitat antworten Zitat