Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ISerializable.GetObjectData的反序列化等价物是什么?_C#_Serialization - Fatal编程技术网

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
,没有看到这个构造函数。太好了,谢谢。