c# - 在序列化时调用 GetObjectData

标签 c# .net serialization

我对来自 MSDN 的序列化样本感到困惑.

我的困惑在于方法 GetObjectData(在序列化过程中被调用),方法,

  1. 序列化附加数据(在 AddValue 的 GetObjectData 方法中)和类的字段/属性;
  2. 或者只在方法 GetObjectData 中写入数据而不写入类的字段/属性?

我调试过似乎 (2) 是正确的——如果使用 GetObjectData 方法,没有字段/属性数据被序列化?那是对的吗? (我不是专家,只是想在这里确认一下,但对自己有 100% 的信心。)

最佳答案

我不确定您想要实现什么,但让 C# 为您完成工作并不容易:

using System;
using System.Collections.Generic;
using System.Xml.Serialization;

namespace Test
{
    [Serializable]
    public class TestObject
    {
        private String name;
        private String note;
        #region Getters/setters

        public String Name
        {
            get { return name; }
            set { name = value; }
        }

        public String Note
        {
            get { return note; }
            set { note = value; }
        }
        #endregion
    }
}

现在您可以使用 XmlSerializer 或 BinaryFormatter 来(反)序列化对象

关于c# - 在序列化时调用 GetObjectData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/606539/

相关文章:

c# - 如何更改组合框按钮的宽度?

c# - 在 ASP.NET MVC 4 中使用 id 路由到索引

scala - 如何将 SerialVersionUID 添加到 Scala 中的 Class[_] 实例?

java - Serializable - writeObject()/ReadObject 和 Externalizable - Java 中的 readExternal()/writeExternal() 有什么区别?

c# - 如何从XML读取值?

c# - 在 LINQ 中连接两个列表

c# - 64 位 cpu 上的 64 位值的读/写是原子的吗?

.net - F# 3.1 是否需要安装特定的运行时?

c# - SalesForce 查询方法不返回可用数据

c# - IXmlSerialized 根据架构进行验证