Проблема Autofac при разрешении именованного/типизированного параметра
Я хочу передать дополнительный параметр при разрешении зависимостей на основе типа.
пожалуйста, ознакомьтесь с изменениями моего кода
private readonly Func<Type,string,IManager> _strategyFactory;
вызов шаблона stratergy для разрешения зависимостей на основе типа.
return _strategyFactory( тип );
return _strategyFactory( Type );
Изменения зависимостей Autofac
builder.Register<Func<Type, string, IManager>>( c => { var cc = c.Resolve<IComponentContext>(); return ( Type, message ) => { switch( Type ) { case Type.A: return cc.Resolve<AManager>(new NamedParameter( "message", "abc")); case Type.B: return cc.Resolve<BStatusManager>( new NamedParameter( "message", "xyz" ) ); default: throw new ArgumentException(); } }; } );
Я столкнулся с проблемой при вызове разрешенного класса.Предположим, у нас есть метод в AManager/BManager, мне нужно получить значение сообщения в конструкторе.
Есть ли другой способ повторно получить сообщение в классе
Что я уже пробовал:
Концепции регистрации — документация Autofac 4.0[^]