<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.Array | array | 参见后面 |
System.Collections.IList | list | 参见后面 |
System.Collections.IDictionary | dictionary | 参见后面 |