1
2
对于序列化,可以使用某种查找:
对于反序列化,这两行:
不执行实际转换。他们唯一要做的就是在
当然,演员会成功的。但它不会以任何方式修改
|
2
3
在SpecialClass中考虑过serialize()方法吗?这样,如果有一些特殊的注意事项,可以重写base.serialize方法并处理任何唯一的需要。这样,它就已经知道它是什么了,并且不需要条件。 另一件需要考虑的事情可能是一个带有facade模式的helper类。然后可以有一个名为“public SpecialClass DeserializeSpecialClass()”的方法。然后,不必在反序列化程序中强制类型转换,而是可以在目标上强制类型转换。如果你发现你做了太多的转换,那么可以考虑将抽象方法添加到基类中,这个基类将在派生类中实现。 希望这有帮助。 |
3
0
|
4
0
如果不关心性能,可以使用反射来初始化其名称包含该类型名称的类型。
|
5
0
规则1./派生类应该负责序列化和反序列化它们自己,因为它们应该是唯一对存储在XML文档中的其他数据有深入了解的类。 所以从多形性的角度(注意上面的代码不是多态的)您可以做如下的事情
相当直接。但问题不在于序列化或多态行为,而在于从XML中实例化正确的类型。 解决这个问题的一种方法是在XML文档中有一个指定保存它的类型的键,并注册一个负责构造由该键索引的派生类型的工厂(属性有利于这种注册),一旦构造了派生类型,就使用它来反序列化XML。 注意,您的工厂也可以是基类上的静态方法。 比如(当然是未经测试的)。。。。
|
Emopusta · 从后端到前端的图像路径不工作 2 年前 |
Asdrubal Hernandez · Linq查询特定数组索引出错 2 年前 |
Niyazi Babayev · 如何在表达式中动态应用表达式? 2 年前 |
Dansih · .Net核心自定义身份验证方案 2 年前 |
lolorekkk · 面板插入。NET WinForm 2 年前 |