Я сделал следующее:
container.Register(Component.For<Dictionary<string, string>>()
.Instance(ServiceDictionaryInstance)
.Named("serviceDictionary"));
Класс потребляет компонент:
public class BusinessService : IDecisionFilter
{
private readonly Dictionary<string, string> _ServiceDictionary;
public BusinessService(IOtherInterface otherService, Dictionary<string, string> serviceDictionary)
{
_OtherService = otherService,
_ServiceDictionary = serviceDictionary;
}
}
Затем Castle не может разрешить компонент Dictionary:
Ошибка: NotImplementedException Метод или операция не реализованы. Ошибка: в Castle.MicroKernel.SubSystems.Conversion.GenericDictionaryConverter.PerformConversion (строковое значение, тип targetType)
Но если я создам другой класс:
public class DictiornayType : Dictionary<string, string>
{
}
на месте оригинального словаря все разрешилось правильно.
Имеет ли это какое-то отношение к общему типу?
Пожалуйста, порекомендуйте.