C# ISerializable.GetObjectData的反序列化等价物是什么?
我正在编写一个自定义序列化程序,我刚刚完成了处理C# ISerializable.GetObjectData的反序列化等价物是什么?,c#,serialization,C#,Serialization,我正在编写一个自定义序列化程序,我刚刚完成了处理ISerializable.GetObjectData部分的实现。但是,当我去反序列化信息并将其重新应用于图形时,我没有看到Set-ObjectData的等效函数 如何将SerializationInfo数据重新应用于图形?实现特殊的反序列化构造函数,如MSDN库文档中所述: ISerializable接口意味着一个具有签名构造函数的构造函数(SerializationInfo信息,StreamingContext)。在反序列化时,只有在格式化程序
ISerializable.GetObjectData
部分的实现。但是,当我去反序列化信息并将其重新应用于图形时,我没有看到Set-ObjectData的等效函数
如何将
SerializationInfo
数据重新应用于图形?实现特殊的反序列化构造函数,如MSDN库文档中所述:
ISerializable接口意味着一个具有签名构造函数的构造函数(SerializationInfo信息,StreamingContext)。在反序列化时,只有在格式化程序对SerializationInfo中的数据进行反序列化之后,才会调用当前构造函数。通常,如果类未密封,则应保护此构造函数
例如:
protected Widget(SerializationInfo info, StreamingContext context)
{
// Perform your deserialization here...
this.SerialNumber = (string)info.GetValue("SerialNumber", typeof(string));
}
啊,
一般来说,如果类没有密封,这个构造函数应该受到保护。
这就是问题所在。我在看DataTable
,没有看到这个构造函数。太好了,谢谢。