我希望能够通过指定一个System.Type来注册实现。下面是我如何使用温莎城堡做这件事:
var type = typeof(MessageQueueProcessorImpl); // configurable
container.Register(
Component.For<MessageQueueProcessorBase>()
.ImplementedBy(type)我在StructureMap中尝试了显而易见的方法:
var type = typeof(MessageQueueProcessorImpl); // configurable
For<MessageQueueProcessorBase>()
.Use(type) // <-- not accepted这在StructureMap (2.6.4.1)中是可能的吗?
发布于 2014-01-28 09:52:51
您必须以同样的方式调用Use和For --无论是泛型版本还是接受类型参数的版本。
IContainer container = new Container(x =>
{
x.For(typeof(MessageQueueProcessorBase))
.Use(typeof(MessageQueueProcessorImpl));
});或
IContainer container = new Container(x =>
{
x.For<MessageQueueProcessorBase>()
.Use<MessageQueueProcessorImpl>();
});https://stackoverflow.com/questions/21401298
复制相似问题