![]() |
1
14
六羟甲基三聚氰胺六甲醚。。。它仍然不漂亮,但您可以将反序列化逻辑重构为一个专用类,该类可以在将其返回给调用方之前通知反序列化对象它来自XML。 更新: 我认为这应该很容易做到,而不会偏离框架所建立的模式太远…您只需要确保使用customXmlSerializer。需要此通知的类只需要实现IXML反序列化回调
|
![]() |
2
4
接受的解决方案对我来说不太管用。被重写的
下面是一个通过方法隐藏工作的实现,它利用现有的
|
![]() |
3
2
我尝试了阿巴蒂什切夫提供的解决方案,但正如下面的评论所指出的,他的答案是
我可以通过超载所有不同的
这样我就能看到
|
![]() |
4
1
一种疼痛,因为
否则,您可以实现
否则-可能通过堆栈检查调用者,但这是 非常 易碎,闻起来很熟。 |
![]() |
5
1
在第一个答案浪费了一段时间后,我从霍顿的帖子中采用了代码,除了
这允许使用标准
UPD。 更新了在对象树上递归行走的日志。 |
![]() |
6
0
我使用一个工厂方法,在XML结构化对象被反序列化后添加更多的逻辑。这种逻辑包括恢复对象成员之间的内部关系(子-父、兄弟……)。 |
![]() |
7
0
在我的例子中,它是一个对象集合,因此使用了一个例外的解决方案,必须对其进行一点修改。
然后一切都很顺利 |
![]() |
8
0
我也在努力使上述解决方案发挥作用。我找到了最简单的解决方案
|
![]() |
9
0
接受的解决方案对我也不起作用。 为了使它最终工作,我需要修改霍顿的解决方案一点。 特别是我添加了
检查(根据: https://docs.microsoft.com/en-us/dotnet/api/system.reflection.propertyinfo.getvalue )以避免参数不匹配异常。 另外,我还有一些不应该映射的属性。我将它们归因于[xmlignore],但提供的解决方案仍然处理它们。 但是,添加一个检查传递的参数对象是否为空的检查就完成了。
|