Danke für die Tips.
Mich stört das ich eine Klasse haben muß, in der beide Interfaces auch noch implementiert werden müßen.
TKlasse = class( TInterfacedObject, IKlasse1, IKlasse2 )
.
Das wollte ich aber vermeiden.
Ich möchte in TKlasse1 nicht auf IKlasse2 zugreifen können. Was man machen könnte wäre
TKlasse1 = class( TKlasse0<TKlasse> , IKlasse1 ) end;
.
Dann hätte ich aber doppelten Code, auch wenn ich in TKlasse virtual und abstract auf die Methoden von IKlasse1 lege.
Nichts desto trotz, mein Ziel wäre gewesen in
Delphi-Quellcode:
Klasse0<T : IKlasse1, IKlasse2> = class(TInterfacedObject)
function Transform(element : T) : T;
end;
auf die Methoden und Eigenschaften von element zugriefen zu können (element.Eigenschaft1) . Aber das geht leider nicht.
Oder doch?
Gruß und Danke
Alexander