a) Foo auch auf das Interface geben.
b) ein zweiters Interface machen
a) will ich nicht, weil der Konsument da nix zu schreiben hat. und b) Zeig doch bitte Code
Delphi-Quellcode:
IFooItem = Interface
['{9995E78E-45DF-4C25-B657-7396738FEA70}']
procedure Bar;
end;
IFooFooItem =Interface
['{9995E78E-45DF-4C25-B657-7396738FEA70}']
procedure Foo(const AValue);
end;
TFooItem = class(TinterfacedObject, IFooItem, IFooFooItem)
public
procedure Bar;
procedure Foo(const AValue);
end;
und jetzt der Owner:
Delphi-Quellcode:
TFooOwner = class
private
Fitem: XXXXX
function GetItem: IFooItem
public
property Item: IFooItem getItem;
property FooItem: IFooFooItem GetFooItem;
end;
Wie wird jetzt die Instanz von FItem gespeichert? Als einzigste Lösung würde mir wieder die ObjektInstanz einfallen und in den Get* Methoden dann ein GetInterface(IFooXItem, Result)aber dann habe ich wieder einen Zugriff auf die Objektinstanz!?!?