Welcome

首页 / 软件开发 / .NET编程技术 / Castle IOC容器构建配置详解(二)

Castle IOC容器构建配置详解(二)2010-12-14terrylee主要内容

1.基本类型配置

2.Array类型配置

3.List类型配置

4.Dictionary类型配置

5.自定义类型转换

一.基本类型配置

在Castle IOC的配置文件中,大家可能都已经注意一个问题了,就是不管组 件接收的是什么基本数据类型,我们一律没有在配置文件中指定,也就是说,不 管组件接收的类型是int型或者是String类型,我们都可以这样去配置:

<component id="MyComponent">
<parameters>
<port>10</port>
</parameters>
</component>

这是因为在Castle IOC中,MicroKernel中的SubSystem中有一个 TypeConverter,它专门负责类型的转换。参数的注入一般都是通过构造函数或 者公有的属性,基本数据类型在配置文件我们不需要用专门的节点去配置,但是 对于一些复杂的数据类型久有些不一样。目前Castle IOC能够支持的数据类型如 下。

类型节点示例
System.Int32, Int16, Int64-<parameters>

<port>10</port>

</ parameters>
System.UInt32, UInt16, UInt64-<parameters>

<port>10</port>

</ parameters>
System.Char-<parameters>

<letter>a</letter>

&l t;/parameters>
System.Single, Double, Decimal-<parameters>

<threshold>13.22</threshold>

</parameters>
System.String-<parameters>

<server>mail.host.com</server&g t;

</parameters>
System.Byte, SByte-<parameters>

<rcolor>144</rcolor>

</parameters>
System.Boolean-<parameters>

<enabled>0</enabled>

</parameters>
System.DateTime-<parameters>

<initial>11022005</initial>< br>
</parameters>
System.Type-<parameters>

<type>Components.MyComponent, Components</type>

</parameters>
System.Arrayarray参见后面
System.Collections.IListlist参见后面
System.Collections.IDictionarydictionary参见后面

如果有其它的类型,我们需要编写自定义的TypeConverter。