如本文所示,可以在C#中定义:
public class MyTreeNode<T> where T: MyTreeNode<T>
{
}
Run Code Online (Sandbox Code Playgroud)
但是,在Delphi中,以下代码无法编译并抱怨"E2003 Undeclared identifier:'MyTreeNode <>'":
type
TMyTreeNode<T: TMyTreeNode<T>> = class
end;
Run Code Online (Sandbox Code Playgroud)
正式术语似乎是"自我引用泛型约束".我想知道如何在Delphi中这样做?
PS: