我想增强/模拟由对象构建器完成的依赖注入,以包含一些自定义属性
标准方法是
在mySmartPart.cs中
CreateNew MyPresenter ABC { ....}
ServiceDependency myService XYZ { ... }
在include MyCustomReferenceAttribute CustomerObject MyCustomer { ....}
等。
这显然可以在创建smartPart之后完成,但我猜(希望如此?)有一些地方我可以挂起一些代码扩展来做需要的事情,而不是到处重复代码!
发布于 2009-12-04 14:32:45
Unity/ObjectBuilder使用称为其策略链的责任链模式。你可以在这个链条中插入你自己的步骤,以获得Unity/ObjectBuilder如何进行对象构造的一些定制。
这里有更多关于Unity设计的信息:http://msdn.microsoft.com/en-us/library/cc440939.aspx
我的直觉告诉我,你真的很想替换Unity的大部分。我认为这将需要你将这个策略链的很大一部分去掉,并用定制的版本来取代它。
根据您试图完成的任务,可以简单地从DependencyResolutionAttribute继承属性,然后向StrategyChain添加一个策略。下面是默认策略是如何配置的(以及Unity中使用的策略的完整列表:http://unity.codeplex.com/SourceControl/changeset/view/39621#427281
我知道这是很多信息,但希望这能给你一些指导。
https://stackoverflow.com/questions/1844487
复制相似问题