2011-06-02 47 views
0

以下是我的代码片段,我想将List参数传递给我的构造。@Enterprise Library Unity,如何注入列表属性

public class MyClass 

{ 

    public MyClass(List<string> parmList) 
    { 
     this.MyList=parmList; 
    } 

    public List<string> MyList 
    { 
     get;set; 
    } 


} 

的配置:

<alias alias="List" type="System.Collections.Generic.List[[System.String, 

    mscorlib],mscorlib]"/> 


    <register> 


    <constructor> 
     <param name="paraList" type="List" /> 
    </constructor> 

    </register> 

但是当我解决请求,容器就抛出了异常:

类型List`1有多个长度为1的构造函数消除歧义。

是否有配置错误?

+0

这是什么语言? – 2011-06-02 03:32:52

+0

C#,使用Unity块。 – David 2011-06-02 03:57:21

+0

不确定这是否只是将代码粘贴到SO中的问题,但在代码中,参数名称是parmList,并且在您的配置中它是:paraList ... – BFree 2011-06-02 04:21:55

回答

0

为了解决MyClass的实例,Unity必须解析一个List<string>的实例以传递给您的构造函数 - 但无法在List<string>的可用构造函数中进行选择。 Here is some information告诉Unity初始化类时使用哪些构造函数。