|
|
1
2
Delphi 2009编译器在泛型实现中有一些非常严重的缺陷。它并没有像它应该的那样理解约束的含义(Barry Kelly在SO的其他地方承认了这一点;我不记得确切的位置了),跨单元泛型可能会导致非常奇怪的问题。最好的办法是根据具体情况处理这个问题:如果你的代码编译成功,就使用它。如果没有,就回到非泛型实现,直到它们得到修复。希望我们能在不久的将来看到一个修复泛型(和generics.Collections单元)的更新。 |
|
|
2
2
最后,我用以下方法破解了它
和
我会稍微清理一下,然后使用它们,直到编译器修复。 |
|
|
3
1
我最近使用D2010解决了一个类似的问题,这是我想出的代码。
|
|
|
4
0
我发现泛型有一些小问题,这对于这样一个新特性来说并不奇怪。而且你正试图混淆编译器;-). 不幸的是,我手头没有2009年,所以我不能测试,但我有一些建议: 您是否已查找更新(并安装了更新)? 您是否尝试过使用as和is运算符:
|
|
|
5
0
(我来到这里是因为一个类似的问题,但在确定问题的同时,我得到了一个不同的解决方案,尽管使用了更新的(XE)Delphi): 对象 T型。 |