是否有Delphi的DI框架使用[Dependency]等属性?

时间:2011-05-29 07:08:52

标签: delphi dependency-injection attributes inversion-of-control

是否有可能,如果是,Delphi(Win32)中的依赖注入容器的实现支持“自定义属性” - 基于注入,看起来像

TDiExample = class(TObject)
private
  [Dependency]
  AOther: ISomeInterface

...
end;

(对于.Net对应文件,请参阅Dependency Injection and .NET Attributes,对于Delphi Win32 DI框架,请参阅https://stackoverflow.com/questions/812599/is-there-a-dependency-injection-framework-for-delphi-or-free-pascal

到目前为止,我已经看到了使用直接调用依赖注入容器的示例,例如:

var
  AOther: ISomeInterface
...
  AOther := DiContainer.Get(ISomeInterface) as ISomeInterface;

1 个答案:

答案 0 :(得分:5)

是的,这是可能的。我的简单DI容器可以在下一个版本中执行此操作,并且还会有许多其他改进。请在此处查看当前版本http://code.google.com/p/delphidicontainer/