|
1
10
首先是固定代码,然后是问题的答案:
或在3:
(及使用)
这对于序列化程序来说很常见。我有自己的序列化程序,最初 做 使其完全通用。结果发现这是一个很大的设计错误。巨大的。不,说真的。我正在重新写 每一个 一行代码将其关闭。 简单地说,序列化程序通常涉及某种程度的反射(对于代码生成器或实际工作,取决于实现)。反射和泛型不能很好地发挥作用,特别是在某些框架(如wcf)上。让你的代码做最后的转换是一个公平的妥协。我有一个 数 如果你真的想…
这确实是一个限制
为了表演,
然后使用
|
|
|
2
11
见
XmlSerializer class
. 你会发现你用错了。
你说得对。XML序列化程序从.NET 1.0开始就存在了。那是在我们有泛型之前,顺便说一句,所以不太可能支持它们。 此外,从那时起,更好的技术已经出现:
XML序列化程序在将来不太可能得到增强。我建议你学习其他的选择。 |
|
|
3
7
1:遗产。XML序列化程序早于泛型。它与.net 1.0一样。 2:设计决策。与其他解决方案相比,XML序列化程序应该使用非常有限的权限。 3:和2一样。 您可以部分使用wcf datacontract序列化程序。 你的假设是“有限错误”。XML序列化应该是用于传输文档的,在我的项目中,这些文档总是单独的类,什么也不做。因此,我对所有的限制都没有问题。 |
|
|
4
1
你不需要 [XMLICAN] 就像你拥有它一样。你可以使用 [XMLYNET] [xmltattribute] … 描述类序列化的方式。 取出[xmlclude]看看是否有效。
已更新,序列化属性应为公共属性。 |
|
|
5
0
顺便说一下,datacontract从不支持二进制序列化,它序列化为xml,但支持二进制编码。 |