Can';t忽略UWP(C#)中的数据成员

Can';t忽略UWP(C#)中的数据成员,c#,serialization,uwp,C#,Serialization,Uwp,我需要将包含StorageFile(无法序列化的类)的类序列化为属性。尽管我将该属性标记为[IgnoreDataMember],XmlSerializer会一直尝试对其进行序列化,但这并不是预期的 澄清问题的一个片段: [DataContract] public class Attachment { [DataMember] public string FileName { get; set; } [IgnoreDataMember] public Storag

我需要将包含
StorageFile
(无法序列化的类)的类序列化为属性。尽管我将该属性标记为
[IgnoreDataMember]
XmlSerializer
会一直尝试对其进行序列化,但这并不是预期的

澄清问题的一个片段:

[DataContract]
public class Attachment
{
    [DataMember]
    public string FileName { get; set; }

    [IgnoreDataMember]
    public StorageFile File { get; set; }

    [DataMember]
    public Boolean UserCreatedContent { get; set; }
}

尝试改用
XmlIgnoreAttribute
属性

看起来您稍微混合了
XmlSerializer
DataContractSerializer
。是控制
DataContractSerializer
的属性,但您使用的是
XmlSerializer
。这意味着这些属性没有意义,因为序列化程序与您在中看到的不同

要使用
XmlSerializer
控制序列化,您应该查看。这意味着您不需要太多属性,只需使用
XmlSerializer
在序列化过程中使用一次
XmlIgnore
即可忽略属性

public class Attachment
{
    public string FileName { get; set; }
    [XmlIgnore]
    public StorageFile File { get; set; }
    public Boolean UserCreatedContent { get; set; }
}

如果使用的是
XmlSerializer

public class Attachment
{
    public string FileName { get; set; }

    [XmlIgnore]
    public StorageFile File { get; set; }

    public Boolean UserCreatedContent { get; set; }
}

谢谢你的解释性回答!以上所有答案都解决了这个问题,但这也回答了为什么。谢谢你的回答!这解决了问题