名称空间Device.Control中有一个枚举.
public enum State {
IN_PROGRESS, SUSPENDED, HALTED, FINISHED
}我还有个课..。
public class CustomStateManager {
public IList<State> ManagingStates { get; set; }
}这是我的spring.net配置XML ..。
<object id="MyStateManager" type="CustomStateManager">
<property name="ManagingStates">
<list>
<value>SUSPENDED</value>
<value>HALTED</value>
</list>
</property>
</object>在构建并尝试注入MyStateManager对象之后,Spring.NET抱怨它无法设置对象的ManagingStates属性。我知道这个错误..。
创建名为“MyStateManager”的对象的错误:错误设置属性值: PropertyAccessExceptionsException (1错误);嵌套PropertyAccessExceptions是:[Spring.Core.TypeMismatchException:无法将System.Collections.ArrayList类型的属性值转换为所需的类型Spring.xml SandboxConsole、Version=1.0.0.0、Culture=neutral、PublicKeyToken=null]。
我对Spring.NET有点陌生,我不知道这里的问题是什么,只是它不能向IList属性中注入一个ArrayList。是否可以在值为枚举类型的配置中创建列表?如果是,怎么做?
发布于 2013-07-24 19:20:29
您必须指定element-type
<list element-type="Namespace.State, Assembly">
<value>SUSPENDED</value>
<value>HALTED</value>
</list>其中名称空间是类的命名空间,程序集是包含枚举的程序集。
<list element-type="SandboxConsole.Device.Control.ApplicationEnumerations+State, SandboxConsole">
<value>SUSPENDED</value>
<value>HALTED</value>
</list>ApplicationEnumerations+State,因为您试图访问内部类。
http://www.springframework.net/doc-latest/reference/html/objects.html#objects-generic-collections-values
https://stackoverflow.com/questions/17841658
复制相似问题