ich dachte mir, wenn Sender ein Interface implementiert kann man ohne Prüfung dieses verwenden, statt typecasting.
oder?
@Himi: Supports ist für Interfaces und hat mit dem as Operator eigtl nix zu tun, du kannst as nichtmal mit einem Interface benutzen,
Nee, Interface in Objekt geht (eigentlich) nicht, aber andersrum geht.
Delphi-Quellcode:
var Obj: TMyObj;
Intf: IMyIntf;
Intf2: IInterface;
Intf := Obj as IMyIntf;
// oder nur, da das Interface vom Ziel (der Intf-Variable) genommen wird
Intf := Obj;
Intf2 := Obj as IMyIntf;
// hier würde dagegen in Intf2 nur IInterface von Obj drinstecken
Intf2 := Obj;
allerhöchstens eine Interface Variable wieder auf eine Klasse umcasten geht mit Delphi 2010.
werd ich dann mal testen, aber vom Wesen der Interfaces her, gibt es eigentlich kein direktes Zurück.
(hab mir bisher damit beholfen, daß ich im Interface eine Methode implementiert hab, ala GibMitBitteDeinInneresObjekt)