我正在尝试使用带有Unity 2.0的InjectionMethod来注册一个通用的Dictionary类型,但它会随着消息而失败:
类型Dictionary`2没有公共方法Add,需要...
container = new UnityContainer();
container.RegisterType<ContactRepository>();
container.RegisterType<ListContactsViewData> ("ListViewData", new ContainerControlledLifetimeManager());
container.RegisterType<Dictionary<string, AbstractBaseData>> ("SessionDataDict", new ContainerControlledLifetimeManager (),
new InjectionMethod ("Add", new ResolvedParameter<ListContactsViewData> ("ListViewData")));
有任何想法如何解决这个问题?
答案 0 :(得分:0)
实际上Dictionary.Add()
接受两个参数。您还需要提供密钥,例如(注意“密钥”arg):
new InjectionMethod("Add", "key",
new ResolvedParameter<ListContactsViewData>("ListViewData")));