是否可以创建通用的约束方法?

Fab*_*ujo 3 delphi generics constraints delphi-2010 delphi-xe2

我在我的代码中创建了以下简单类,我得到"TObject不是有效约束"错误消息.

  TTest = class
    class function Test<T:TObject>(Dummy: integer): string;
  end;
  ... 
  class function TTeste.Teste<T>(Dummy: integer): string;
  begin
    Result := 'Compiled';
  end;
Run Code Online (Sandbox Code Playgroud)

我做错了什么?这可能吗?(您可以在D2010之后的版本中包含选项,因为我们将在接下来的两周内收到XE2许可证).

Cod*_*aos 8

尝试class约束:

TTest = class
  class function Test<T:class>(Dummy: integer): string;
end;
Run Code Online (Sandbox Code Playgroud)

它可能不仅接受普通类,而且还接受该约束(在C#中它,Delphi泛型模仿C#泛型).