2012-01-11 59 views
3

我在我的代码中创建了以下简单类,并且我得到“TObject不是有效约束”错误消息。是否可以创建一个通用约束方法?

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

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

+0

搜索“通用约束delphi”时首先遇到这个问题。 – CodesInChaos 2012-01-11 17:05:56

+0

几乎不眠的夜晚......我通常不那么懒惰......我根本不记得这么做。我的耻辱;-) – 2012-01-11 17:17:01

回答

8

尝试class约束:

TTest = class 
    class function Test<T:class>(Dummy: integer): string; 
end; 

它不仅可以接受正常上课,但也与约束接口(在C#中这样做,和Delphi泛型模仿C#泛型)。

+0

哦,我的天啊......你钉了它。 – 2012-01-11 17:06:12

相关问题