【问题标题】:Configure Dictionary with Unity使用 Unity 配置字典
【发布时间】:2012-02-04 23:09:57
【问题描述】:

我正在尝试将 InjectionMethod 与 Unity 2.0 一起使用来注册通用 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")));

有什么办法解决这个问题吗?

【问题讨论】:

  • 你认为你为什么需要这样做?
  • 能否请您添加完整的错误消息和您要注入的方法的签名。

标签: c# .net dependency-injection


【解决方案1】:

其实Dictionary.Add()接受两个参数。您还需要提供密钥,例如(注意“key”arg):

new InjectionMethod("Add", "key", 
             new ResolvedParameter<ListContactsViewData>("ListViewData")));

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2022-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多