use*_*126 2 delphi circular-dependency
我在两个不同的单元中创建了两个不同的类,我将如何创建循环引用?在Delphi中(类别在不同的单元中)
单元1:
Uses unit2;
type Ta = class(tobject)
public
b:Tb;
end;
Run Code Online (Sandbox Code Playgroud)
单元2:
type Tb = class(tobject)
public
a:Ta;
end;
Run Code Online (Sandbox Code Playgroud)
我猜你的意思是我如何摆脱他们!
把它们放在一个文件中,根据你的结构,你可能也是一个答案.
type tb = class;
type Ta = class(TObject)
public
b:Tb;
end;
type Tb = class(TObject)
public
a:Ta;
end;
Run Code Online (Sandbox Code Playgroud)
其他方式是情境化的,例如你可以抽出一个可以拥有Ta或Tb的类,或者一个类可以由Ta或Tb拥有......
不过我建议你看看接口....
好的两个不同的文件
好吧,不,三个......
Unit3;
type tc = class(TObject)
public c:Tc;
end;
Unit1;
type Ta = class(TObject)
public
b:Tc;
end;
Unit2;
type Tb = class(TObject)
public
a:Tc;
end;
Run Code Online (Sandbox Code Playgroud)
要么
Unit3;
type Ic = interface; end;
Unit1;
type Ta = class(TObject)
public
b:Ic;
end;
Unit2;
type Tb = class(TObject)
public
a:Ic;
end;
Run Code Online (Sandbox Code Playgroud)
找到共同的位,在第三个单元中有其他两个基本上使用它.除了其他任何东西,它会给你一个更好的设计.
| 归档时间: |
|
| 查看次数: |
1537 次 |
| 最近记录: |