Ламар альтернатива StructureMap Forward()

В StructureMap вы можете объявить Forward<,> оператор, который позволит зарегистрировать один конкретный экземпляр для разрешения несколькими интерфейсами из документации StructureMap:

var container = new Container(_ =>
{
    // Let's make StatefulCache a SingletonThing in the container
    _.ForConcreteType<StatefulCache>().Configure.Singleton();

    _.Forward<StatefulCache, IReader>();
    _.Forward<StatefulCache, IWriter>();
});

container.GetInstance<IReader>().ShouldBeOfType<StatefulCache>();
container.GetInstance<IWriter>().ShouldBeOfType<StatefulCache>();

Я смотрю на возможный переход на Lamar, замену StructureMap, но я не вижу ничего подобного в опциях регистрации.

Возможно ли это в Ламаре?

0 ответов

Согласно StructureMap документациисинтаксис неизменно сбивает с толку пользователей и предложили замены:

_.For<IReader>().Use(c => c.GetInstance<StatefulCache>());

Поэтому я бы предложил использовать этот лямбда-подход.

Другие вопросы по тегам