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感谢您的回答,您也可以看看这个吗请回答我的问题