我想写一个
IXmlSerializable
类与XML文件保持同步。XML文件的格式如下:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<logging>
<logLevel>Error</logLevel>
</logging>
...potentially other sections...
</configuration>
我有一个
DllConfig
整个XML文件的类和
LoggingSection
表示类
<logging>
其内容,即,
<logLevel>
。
dllconfig
具有此属性:
[XmlElement(ElementName = LOGGING_TAG_NAME,
DataType = "LoggingSection")]
public LoggingSection Logging { get; protected set; }
我想要的是在设置属性时更新(即重写)备份XML文件。我已经有了
dllconfig
这样做的时候
Logging
准备好了。但是,当
Logging.LogLevel
准备好了吗?以下是我的意思的一个例子:
var config = new DllConfig("path_to_backing_file.xml");
config.Logging.LogLevel = LogLevel.Information; // not using Logging setter, but a
// setter on LoggingSection, so how
// does path_to_backing_file.xml
// have its contents updated?
我现在的解决办法是
SyncedLoggingSection
继承自的类
伐木区
还需要一个
dllconfig
构造函数中的实例。它宣布
new LogLevel
设置后,将更新
LogLevel
在基类中也使用
dllconfig
写下整个
dllconfig
输出到备份XML文件。这是个好技术吗?
我不认为我可以直接连载
同步日志部分
由于不是所有的内容都将被写入,所以只需将
<日志记录>
节点。然后我得到一个xml文件,其中只包含
<日志记录>
更新的部分
<日志级别>
,而不是整个配置文件
<日志级别>
更新。因此,我需要通过一个
dllconfig
到
同步日志部分
.
似乎我想要一个事件处理程序,一个
dllconfig
当特定的属性(即,
日志级别
)其性质(即,
登录中
)已经准备好了。这样的事情有可能吗?