我如何通过spring.net将枚举作为属性传递给C#中的app.config文件

我有以下枚举:

enum ELogLevel
{
    INFO = 1,DEBUG = 2,WARNING = 3,ERROR = 4,FATAL = 5
}

我有以下课程:

class Test
{
    private ELogLevel logLevel;}

我尝试这样做:

<object name="test" type="program.Test,program" singleton="false">
    <property name="logLevel">
      <add key="1" value="INFO"/>
      <add key="2" value="DEBUG"/>
      <add key="3" value="WARNING"/>
      <add key="4" value="ERROR"/>
      <add key="5" value="FATAL"/>

    </property>
  </object>

但我无法处理 并且我想使用spring.net使用依赖项注入传递“ logLevel”属性...我该怎么做以及如何读取该属性。

xzz00 回答:我如何通过spring.net将枚举作为属性传递给C#中的app.config文件

枚举的默认类型转换器是System.ComponentModel.EnumConverter类。要指定枚举属性的值,只需使用属性的名称。例如,TestObject类具有枚举类型FileMode的属性。该枚举的值之一称为“创建”。以下XML片段显示了如何配置此属性

<object id="rod" type="Spring.Objects.TestObject,Spring.Core.Tests">
  <property name="name" value="Rod"/>
  <property name="FileMode" value="Create"/>
</object>

我相信您必须将Info枚举编号传递给ELogLevel。因此,您必须在web.config中编写以下代码。

<object id="testobj" type="NameSpace.Test,Assembly">
  <property name="ELogLevel" value="INFO"/>
</object>

有关更多信息,请参阅此URL

https://documentation.help/Spring.NET-Framework/objects.html

本文链接:https://www.f2er.com/3121326.html

大家都在问