You have to call Use
and For
the same way - either the generic versions or the versions that take a type parameter.
IContainer container = new Container(x =>
{
x.For(typeof(MessageQueueProcessorBase))
.Use(typeof(MessageQueueProcessorImpl));
});
or
IContainer container = new Container(x =>
{
x.For<MessageQueueProcessorBase>()
.Use<MessageQueueProcessorImpl>();
});