2011-06-01 152 views
1

我是企业库的新手。我想问一些问题,任何帮助将不胜感激。@Enterprise Library Unity属性注入

1,如何部署注入实例属性。

public class MyObject 
{ 
    public MyObject(string Title) 
    { 
     ///... 
    } 
    public MyObject(InjectObject injectObject) 
    { 
     ///... 
    } 
    public InjectObject InjectObject{get;set;} 
    public List<string> MyList {get;set;} 
    public string Title {get;set;} 
} 

Now I know how to inject the default value to the title property. But how to do 
with 
the InjectObject and the MyList. 

<register type="IMyObject" mapTo="MyObject"> 
    <property name="Title" value="MyFirstObject"> 
    </property> 
    //But how to assign or instance the InjectObject and the MyList 
</register> 
But how to assign or instance the InjectObject and the MyList 

<register type="IMyObject" MapTo=“MyObject”> 
    <constructor> 
    <param type="string" name="title" value="MyFirstObject"/> 
    </constructor> 

2,如何提供一个类实例构造 ,我知道如何分配一个字符串值来构造。但是如何转移 一个类的实例。

我怎样才能分配一个类实例给构造函数,以及如果我有两个构造函数方法来部署。

谢谢你的帮助。 最好的问候。

Daivd

回答

1

首先,更喜欢构造函数注入属性注入。

要将类型注入构造函数,请使用<dependency [name=""] />属性。

例如:

<register type="IMyObject" MapTo=“MyObject”> 
    <constructor> 
     <param name="injectObject"> 
      <dependency /> 
     </param> 
    </constructor> 
<register> 

<register type="InjectObject" /> 

UPDATE:

要添加阵列,你需要配置这样的注射值:

<param name="parmName"> 
    <array> 
     <value value="firstValue" /> 
     <dependency /> 
     <value value="some other value" /> 
    </array> 
</param> 

时退房Unity configure schema所有详细说明如何做到这一点。

+0

Hi Rory,谢谢你的建议,我可以成功注入类实例属性。你可以给我一些想法如何注入list属性或arraylist属性。谢谢。 – David 2011-06-01 09:38:19

+0

谢谢罗里。现在我可以与类实例特性和数组进行交互。 – David 2011-06-02 03:11:33