我有三个班。TA 类使用 TB,TB 类使用 TC。
在我注册了TA和TC的容器中,TB不需要注册。
procedure Project;
var
a: TA;
begin
GlobalContainer.RegisterType<TA>.AsSingleton;
GlobalContainer.RegisterType<TC>.AsSingleton;
GlobalContainer.Build;
a := GlobalContainer.Resolve<TA>;
end;
类定义:
TA = class
private
_b: TB;
public
constructor Create;
end;
TB = class
private
_c: TC;
public
procedure SetC(c: TC);
end;
TC = class
public
data: String;
end;
constructor TA.Create;
begin
_b := TB.Create;
end;
procedure TB.SetC(c: TC);
begin
_c := c;
end;
如果TB不是由容器管理的,我想将TC实例注入TB实例怎么办?不注册TB可以吗?