【发布时间】:2009-08-06 08:59:34
【问题描述】:
考虑:
TTest <T : class, constructor> = class
public
function CreateMyObject : T;
end;
function TTest<T>.CreateMyObject : T;
var
Obj : TObject;
begin
Obj := T.Create;
Result := (Obj as T);
end;
为什么这不可能?编译器为 as 运算符生成“运算符不适用于此类型”错误消息。 T 被限制为类类型,所以这应该可以工作,不是吗?
感谢您的帮助。
【问题讨论】:
-
没有。那将是无效的类型转换。
标签: delphi generics delphi-2009