4
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必須返回該類的一個實例。我嘗試了多種東西:Delphi中的多態性泛型
1. Result := Result.create; //Exception
2. Result := TChildClass.Create; //Error
3. type TGArray<T: class> = class; //and above 2. The same errors/exceptions.
這樣做的目的是創建一個泛型數組。數組存儲在泛型類中並返回實例,但是如何實現?
如果我完成這件事,我會縮短我的代碼3次,但我做不到。請提出任何解決方案。
它說「你可以在47秒內接受答案」,謝謝! – 2010-05-14 18:08:08