2

请注意,这不是实际情况,而只是一个简化的示例。

假设我有一个 Log 类,然后 Sub 分类,我有一个文件日志和一个电子邮件日志。现在假设我想要一个配置部分,例如

   Logs>
     Log Type="file" fileName="log.txt" Verbosity="3"/>
     Log Type="email" emailAddress="email@server.com" Verbosity="1"/>
   /Logs>

目前我有一个解决方案,将允许

   Logs>
     Log Type="file" Verbosity="3"/>
     Log Type="email" Verbosity="1"/>
   /Logs>

但是,一旦我尝试添加 fileName 或 emailAddress*(这只是一个示例),我就会收到错误消息,因为基本日志类的配置部分不包含特定于子日志类型的 configurationProperties。有什么办法可以实现吗?

4

1 回答 1

0

您可以重写OnDeserializeUnrecognizedAttribute方法并将值存储在某种属性包中。如果您查看 System 程序集中的 System.Diagnostics.ListenerElement 类,您会发现它就是这样做的;您需要获取框架源代码或为此使用反编译器。

于 2012-11-16T17:02:55.433 回答