type
TParent=class
public
member1:Integer;
end;
TChild=class(TParent)
public
member2:Integer;
end;
TGArray<T: TParent>=class
public
function test:T;
end;
implementation
var g:TGArray<TChild>;
function TGArray<T>.test:T;
begin
Result:=??.create; // <<<< Problem !
end;
begin
g := TGArray<TChild>.Create;
g.test.member2 := 1234;
end.
g.test doit renvoyer une instance de la classe. J'ai essayé plusieurs choses:Polymorphisme dans les génériques Delphi
1. Result := Result.create; //Exception
2. Result := TChildClass.Create; //Error
3. type TGArray<T: class> = class; //and above 2. The same errors/exceptions.
Le but de ceci est de créer un tableau générique de classes. Le tableau est stocké dans la classe générique et renvoie des instances, mais comment?
Si j'accomplis cette chose, je raccourcirai mon code 3 fois, mais je ne peux pas le faire. S'il vous plaît suggérer une solution.
Il est écrit "Vous pouvez accepter une réponse en 47 secondes", merci! –