Ламар альтернатива 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>());
Поэтому я бы предложил использовать этот лямбда-подход.