Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/122.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# 将创建多少个SerializationInfo实例?_C#_.net - Fatal编程技术网

C# 将创建多少个SerializationInfo实例?

C# 将创建多少个SerializationInfo实例?,c#,.net,C#,.net,假设我们有以下代码: [Serializable] class FirstType : ISerializable { public SecondType secondType; public FirstType (SecondType t) { secondType = t; } public virtual void GetObjectData(SerializationInfo info, // <---------first info

假设我们有以下代码:

[Serializable]
class FirstType : ISerializable {
   public SecondType secondType;

   public FirstType (SecondType t) {
      secondType = t;
   }

   public virtual void GetObjectData(SerializationInfo info,    // <---------first info
                                     StreamingContext context) {
      // correct method
      info.AddValue("Second Type", secondType, typeof(SecondType));

      // incorrect method
      secondType.GetObjectData(info, context)
   }
}

[Serializable]
class SecondType: ISerializable {
   // fields
   public virtual void GetObjectData(SerializationInfo info,  // <---------second info
                                     StreamingContext context) {
      info.AddValue(...)  // Add internal state to the info instance
      ...
   }
}
[可序列化]
类FirstType:ISerializable{
公共二次型二次型;
公共第一类型(第二类型t){
第二类=t;
}

公共虚拟对象无效GetObjectData(SerializationInfo,//层次结构中的每一层都有一个info对象。因此,真正对象的树将由SerializationInfo对象的树表示。@Oliver感谢您的回答。因此,在我的示例中,有两个实例,对吗?是的,有两个。@Oliver感谢您的回答,您也可以看看这个吗请回答我的问题