"Formatter"和"Serializer" - 条款之间的任何差异?

Ste*_*nov 10 .net serialization terminology

.NET中的一些东西称为"格式化程序" - BinaryFormatter, SoapFormatter.

其他人被称为"序列化器" - XmlSerializer, DataContractSerializer.

为什么不同?

Han*_*ant 7

有点脆弱,但有一个微妙的区别..NET框架中有17个用于格式化XML的具体类.这些格式化程序都是隐藏的,您可以使用XmlWriter.Create()等方法为它们获取实例.对于DataContractSerializer来说,实际的格式化是由XmlDictionaryWriter实例完成的.

对于BinaryFormatter或SoapFormatter没有这样的间接,它们会自己处理格式化.换句话说,Formatter格式,Serializer使用格式化程序.