Tim*_*Tim 12 c# xml debugging serialization
是否有任何工具可以帮助调试/检查xml序列化过程?
例如,假设一个项目被标记为内部而不是公共.没有编译时错误消息,也没有运行时错误消息.如果设置断点并进入序列化过程,则只是跳过该项.换句话说,通常很难找到这些类型的问题.调试工具将允许您逐步完成该过程并提供一些反馈,例如遇到此属性,通过属性迭代并且没有找到相应的公共过程,跳过.另一种选择是检查所有具有xml序列化属性的类的检查工具,以确保它们是可访问的并具有设置方法等.
Tim*_*Tim 14
对于那些查看这个问题的人,我发现为XmlSerializer的UnknownNode和UnknownAttribute事件添加事件处理程序非常有帮助.即使您只是让它抛出一个新的NotImplementedException,您也可以设置断点并查看何时遇到未知的节点和属性.
例如:
public void Open(string filename)
{
// Create serializer
XmlSerializer serializer = new XmlSerializer(typeof(ObjectType));
// Set event handlers for unknown nodes/attributes
serializer.UnknownNode += new XmlNodeEventHandler(serializer_UnknownNode);
serializer.UnknownAttribute += new XmlAttributeEventHandler(serializer_UnknownAttribute);
...
}
private static void serializer_UnknownAttribute(object sender, XmlAttributeEventArgs e)
{
throw new System.NotImplementedException();
}
private static void serializer_UnknownNode(object sender, XmlNodeEventArgs e)
{
throw new System.NotImplementedException();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4949 次 |
| 最近记录: |