@Enterprise Library Unity属性注入
问题描述:
我是企业库的新手。我想问一些问题,任何帮助将不胜感激。@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
答
首先,更喜欢构造函数注入属性注入。
要将类型注入构造函数,请使用<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所有详细说明如何做到这一点。
Hi Rory,谢谢你的建议,我可以成功注入类实例属性。你可以给我一些想法如何注入list属性或arraylist属性。谢谢。 – David 2011-06-01 09:38:19
谢谢罗里。现在我可以与类实例特性和数组进行交互。 – David 2011-06-02 03:11:33