首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NonSerialized与Xml.Serialization.XmlIgnore的差异?

NonSerialized与Xml.Serialization.XmlIgnore的差异?
EN

Stack Overflow用户
提问于 2010-02-04 17:12:22
回答 1查看 11.3K关注 0票数 17

我们正在从XML序列化/反序列化类,但是类中有我们想要排除的属性和字段。

System.NonSerializedSystem.Xml.Serialization.XmlIgnore属性似乎是起作用的,但它们之间有什么区别呢?似乎我们可以在类的属性或字段上使用XmlIgnore。但是NonSerialized只能在字段中使用。是否有任何理由不使用XmlIgnore在每一种情况下,如果是的话,NonSerialized属性的目的是什么,为什么在用法上有差异?

这是允许的:

代码语言:javascript
复制
<System.NonSerialized()> _
Public Foo As String

这是允许的:

代码语言:javascript
复制
<System.Xml.Serialization.XmlIgnore()> _
Public Foo As String

这是允许的:

代码语言:javascript
复制
<System.Xml.Serialization.XmlIgnore()> _
Public Property Bar() As String
    Get
        Return _Bar
    End Get
    Set(ByVal value As String)
        _Bar = value
    End Set
End Property

但这是不允许的:

代码语言:javascript
复制
<System.NonSerialized()> _
Public Property Bar() As String
    Get
        Return _Bar
    End Get
    Set(ByVal value As String)
        _Bar = value
    End Set
End Property
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-05 12:01:32

NonSerialized适用于比XML更多的序列化类型。如果要序列化为二进制或SOAP,则使用NonSerialized;如果使用XmlSerializer严格地将XML序列化为XML,则使用XmlSerializer。请参阅MSDN上NonSerializedAttribute类的备注部分。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2201658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档