Hallo,
wie kann ich gezielt generische Interfaces abfragen?
Beispiel:
Delphi-Quellcode:
IFoo<T> = interface
['{CDCED5EE-852E-4C41-86A1-BE9E450A0748}']
function Bar: T;
end;
IStringFoo = IFoo<string>;
IIntegerFoo = IFoo<integer>;
...
procedure MachWas(x: IInterface);
var
sfoo: IStringFoo;
svalue: string;
ifoo: IIntegerFoo;
ivalue: integer;
begin
if Supports(x, IStringFoo, sfoo) then
svalue := sfoo.Bar;
if Supports(x, IIntegerFoo, ifoo) then
ivalue := ifoo.Bar;
end;
Supports funktioniert hier nicht, da beide Fälle wohl anhand der gemeinsamen
GUID durchlaufen werden.
Ich benutze übrigens das Spring-Framework. Gibt es dort etwas passendes, denn anscheinend kann ich dort auch generische Interfaces problemlos registrieren und auch wieder anfordern?
Danke, und Ciao
Norman