这是Delphi 2009中的错误吗?

Ste*_*eve 1 delphi generics interface delphi-2009

它当然看起来像一个bug,但我只有试用版本,所以它可能已被修复.

ITestInterface = interface
  ['{9445CED8-4DBA-4EDB-9897-60980B438BE4}']
  procedure Foo1;
  procedure Foo2;
end;

TTest = class(TInterfacedObject, ITestInterface)

end;
Run Code Online (Sandbox Code Playgroud)

以上将无法编译.但以下呢!

ITestInterface<t> = interface
  ['{9445CED8-4DBA-4EDB-9897-60980B438BE4}']
  procedure Foo1;
  procedure Foo2;
end;

TTest<T> = class(TInterfacedObject, ITestInterface<T>)

end;
Run Code Online (Sandbox Code Playgroud)

编辑:我刚刚发现它如果你尝试实例化TTest就会失败.所以有点不一致,但不是那么糟糕!

Bar*_*lly 7

是的,一个bug. http://qc.codegear.com/是报告错误的地方.