|
|
1
2
是的,这是可能的。 序列化的xml/csv/json数据必须包含标识符,以允许反序列化程序知道要创建什么类型的对象,因为这不能预先知道。为了使反序列化程序能够构造新的对象实例,通常使用FactoryMethod设计模式。 反序列化比序列化更难。 |
|
|
2
2
这取决于序列化。 Binaryserializer将类型信息嵌入到其输出流中,因此您所描述的内容将非常有效。你得到一个对象,你甚至可以对它进行反射,然后把它转换成正确的类型。 XML序列化不能这样工作,这就是为什么XML序列化程序在其构造函数中需要一个类型的原因。 在数据可能是有限数量的类型之一(所有类型都继承自基类型)的情况下,最好是这样。然后,您可以给基类型(它用已知的类型属性进行修饰,以便让它知道所有其他类型的信息),然后将数据反序列化为标准的基类型,然后检查它。 csv和json甚至更加困难,因为没有太多的序列化支持将它们移植到框架中。 |
|
|
3
1
不是以任何简单的方式。您必须编写逻辑来分析数据,并决定其格式最相似的类型。 |
|
|
4
1
通常是的。但这取决于您使用哪种序列化。序列化数据必须包含有关序列化对象类型的元数据。例如,XML序列化(system.xml.serialization)不支持此方案。 |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |