我有一个这样的接口:提供委托来解决注册开仿制药Autofac
ICreator<T> {}
我想要做的就是让用户解决这样的依赖性:
var creator = container.Resolve<ICreator<IUser>>();
的诀窍是我希望能够为ICreator<T>
做一些自定义创建的具体类型。在我的情况下,我有一个Creator<T, TConcrete>
带有一个构造函数,该类型的泛型使用TConcrete
。按照惯例,我知道TConcrete
应该给T
定义ICreator
的类型,但RegisterGeneric
看起来不像它给我我需要什么,这是创建Creator<,>
实例的代表。
或者这可能存在于Autofac中,我错过了它?任何有识之士将不胜感激 - TIA。
我不认为这就是我要找的。我想要指定'ICreator',并返回'Creator ',其中'Creator '实现'ICreator '。我可以在代码中手动执行此操作 - 但是我无法找到在Autofac中注册这种配置的方法。 –
JasonBock
2013-02-22 14:03:46
工作的一件事是钩住OnActivating并调用ReplaceInstance。这几乎是我正在寻找的东西,但是它有一个小的负面工件,它将创建一个我在'RegisterGeneric'中提供的泛型类型的实例,我将会替换它。 – JasonBock 2013-02-22 15:22:20