Delphi-Quellcode:
var
Intf: IInterface;
begin
Intf := TInterfacedObject.Create;
ist etwas anderes als
Delphi-Quellcode:
var
Obj: TObject;
begin
Obj := TInterfacedObject.Create;
Intf und Obj sind zwei unterschiedliche Typen.
Wenn ich jetzt bei einem Interface ein Event einführe, wäre es doch konsequent, dass Sender den Typ Interface hätte. Aber dazu müsste dann extra eine neue Interface-Instanz erzeugt werden, deshalb bin ich mir nicht sicher, ob das eine gute Lösung wäre.
Ein Problem ist z.B., dass ich so im Event-Handler ein Interface nicht identifizieren kann wie es bei Objekten möglich ist (
if Sender = Objekt1 then …
).