它看起来确实是一个bug,但我只有试用版,所以可能已经修复了。
ITestInterface = interface
['{9445CED8-4DBA-4EDB-9897-60980B438BE4}']
procedure Foo1;
procedure Foo2;
end;
TTest = class(TInterfacedObject, ITestInterface)
end;
以上内容将不会编译。但以下内容确实如此!
ITestInterface<t> = interface
['{9445CED8-4DBA-4EDB-9897-60980B438BE4}']
procedure Foo1;
procedure Foo2;
end;
TTest<T> = class(TInterfacedObject, ITestInterface<T>)
end;
编辑:我刚刚发现,如果你尝试实例化TTest,它会失败。所以有点前后矛盾,但也没那么糟糕!
是的,一个错误。http://qc.codegear.com/是报告错误的地方。