我试图在Delphi中构造一个类系统。类TFieldSpec
和TTableSpec
通过对象属性相互引用。
type
TFieldSpec=class(Tobject)
private
FTableSpec : TTableSpec;
public
property TableSpec : TTableSpec read FTableSpec;
end;
TTableSpec=class(Tobject)
private
FFields : array[1..100] of TFieldSpec;
end;
编译时,出现以下错误:
[Error] Objects.pas(66): Undeclared identifier: 'TTableSpec'
如何构造这些类类型?
最佳答案
您应该使用TTableSpec
的前向声明:
type
TTableSpec = class;
TFieldSpec=class(Tobject)
private
..
FTableSpec : TTableSpec;
..
end;
TTableSpec=class(Tobject)
private
FName : string;
..
end;
关于delphi - 如何声明交叉引用的类类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12870126/