Не может разрешить символ SetAllProperties в StructureMap.Net4
В моем проекте я использую StructureMap.Net4 (версия 3.0.3) с StructureMap (3.0.3) . Я настроил Ioc с помощью следующего кода для ввода сеттера
public static IContainer Initialize()
{
ObjectFactory.Initialize(x =>
{
x.For<ICacheManager>().Use<MemmoryCacheManager>();
x.SetAllProperties(y => y.OfType<ICacheManager>);
//x.ForConcreteType<AuthorizationManager>()
// .Configure.Setter<ICacheManager>(y => y.CacheManager)
// .IsTheDefault();
});
return ObjectFactory.Container;
}
Но я получаю сообщение об ошибке не может разрешить символ SetAllProperties . я уже ссылался на это следующее пространство имен
using StructureMap;
using StructureMap.Graph;
Почему я получаю эту ошибку? как я могу решить это? или я должен ссылаться на любое другое пространство имен
2 ответа
Решение
StructureMap 3 изменился там, где настроено сеттерное впрыскивание. Теперь он настроен с использованием PolicyExpression
, он может быть доступен по адресу ConfigurationExpression.Policies
, Я приложил образец ниже.
ObjectFactory.Configure(x =>
{
x.Policies.SetAllProperties(y => y.OfType<ICacheManager>());
});
Попробуйте поставить брекеты
x.SetAllProperties(y => y.OfType<ICacheManager>());