C# 可序列化类中的.net 4.6方法

C# 可序列化类中的.net 4.6方法,c#,.net,xml,serialization,deserialization,C#,.net,Xml,Serialization,Deserialization,我刚接触序列化,现在面临一个问题。我有一个可序列化的类,它必须包含一个方法。但由于该方法,我在序列化程序初始化期间遇到了一个错误(当我注释该方法时,不会抛出任何错误)。 问题是,有没有办法在类中标记方法,以便序列化程序忽略它并正常工作 这是我的可序列化类: [Serializable] public class Key { [XmlAttribute("Id")] public Guid Id { get; set; } [Xml

我刚接触序列化,现在面临一个问题。我有一个可序列化的类,它必须包含一个方法。但由于该方法,我在序列化程序初始化期间遇到了一个错误(当我注释该方法时,不会抛出任何错误)。 问题是,有没有办法在类中标记方法,以便序列化程序忽略它并正常工作

这是我的可序列化类:

[Serializable]
    public class Key
    {
        [XmlAttribute("Id")]
        public Guid Id { get; set; }

        [XmlAttribute("Kid")]
        public Guid Kid { get; set; }

        [XmlElement("CEK")]
        public string CEK { private get; set; }

        public string Foo()
        {...}
    }
我在数据隐私方面做了一些修改,但这并不影响主题

下面是我如何进行序列化的:

        StringReader strReader = null;
            XmlSerializer serializer = null;
            XmlTextReader xmlReader = null;
            Object obj = null;
            try
            {
                strReader = new StringReader(xml);
                serializer = new XmlSerializer(objectType,
                    new XmlRootAttribute
                    {
                        ElementName = "someNS",
                        Namespace = "url.to.some.namespace"
                    });
                xmlReader = new XmlTextReader(strReader);
                obj = serializer.Deserialize(xmlReader);
         }
此部分引发错误:

serializer = new XmlSerializer(objectType,
    new XmlRootAttribute
    {
        ElementName = "someNS",
        Namespace = "url.to.some.namespace"
    });
更新: 对,忘记错误了。具体如下:

System.InvalidOperationException:'存在反映类型的错误 “MyProject.Objects.Key.”

和内部例外:

InvalidOperationException:反映属性时出错 “钥匙”。 InvalidOperationException:反映类型“MyProject.Objects.Key”的错误

修正了它:

[XmlElement("CEK")]
public string CEK { private get; set; }

该属性引起异常;您无法在serializable类中获取私有方法。

您忘记告诉我们错误是什么。请查看有关提供代码的指导。。。序列化通常会忽略方法,因此如果没有实际的错误消息或完整的代码来重现错误,则很难猜出错误所在。除非您想使用
BinaryFormatter
进行序列化,否则不需要
[Serializable]
。这些方法中是否没有内部异常?建议“有错误反映类型”错误有一个内部异常,指示根本原因。