我意识到 Delphi 不支持接口帮助器,但是在阅读了几个 SO 主题和 Spring4D 的源代码等资料后,我想知道是否有方法可以实现以下目标?源代码注释基本上概括了我试图做的事情,因此在此呈现:program IHelper; {$APPTYPE CONSOLE} {$R *.res}...
我试图找出最好的依赖注入方式,以用于一些需要长时间重构并且必须逐步完成的旧代码。大多数旧类使用“Parent”属性来确定各种事情,并且经常通过构造函数参数传递父属性,如下所示:constructor TParentObject.Create; begin FChildObject := T...
我发现IList无法将事件处理程序作为其元素。程序在退出时出现访问冲突$C00000005。 如果我使用Delphi RTL的TList,一切都正常。 无论是32位还是64位版本构建,在发生此问题时,它似乎会停留在Spring4D的以下行中: procedure TCollectionBas...
是否可以注册一个带有预期从创建点传递的参数的类? 我知道可以这样做: GlobalContainer.RegisterType<TUserProcessor>.Implements<IUserUpgrader>. AsTransient.DelegateTo( ...
我有一个关于 Spring4D 框架中 TObjectList 类的行为问题。在我的代码中,我创建了一个几何图形列表,例如 正方形、圆形、三角形,每个几何图形都定义为一个独立的类。为了在列表被销毁时自动释放几何图形,我定义了一个类型为 TObjectList 的列表,如下所示: proced...
我刚开始接触Delphi Spring Framework,想知道当前版本的DI容器是否允许委托构造工厂方法而不指定实现类型? 例如,类似于这样的方法: GlobalContainer .RegisterFactory<ISomeObject>( function:...
这将是一个比较棘手的问题,但是我们可以试着解答一下。 我们正在使用 Delphi Spring Framework(http://code.google.com/p/delphi-spring-framework/)。 假设我有一个名为 UnitA 的单元,其中声明了 InterfaceA...