C# - 类不会在设置中序列化

本文关键字:设置 序列化 | 更新日期: 2023-09-27 17:56:47

我有一个类似的类

public class ASetting
{
  public Type AType;
  public string AString;
}

在我的项目的设置中。我只想保存属性。类未保存。我的问题似乎是属性AType的序列化。在尝试了不同的方法后,我有点困惑:

同样不起作用的是像这样封装属性:

public class ASetting
{
  private Type AType { get; private set; }
  public string AString;
}

如果我将属性设置为私有,则类将被保存并且它正在工作

public class ASetting
{
  private Type AType;
  public string AString;
}

但我需要公开该物业。所以我尝试使用 IgnoreDataMemberAttribute

public class ASetting
{
  [IgnoreDataMember]
  public Type AType;
  public string AString;
}

但这也是行不通的。

我读到了 SettingsSerializeAsAttribute - 似乎设置序列化的属性与 System.Runtime.Serialisation 属性不同。

如果有人有解决我的问题的想法,那就太好了 - 在保存期间忽略属性 AType

C# - 类不会在设置中序列化

您应该在属性上设置 XmlIgnoreAttribute。https://msdn.microsoft.com/en-us/library/system.xml.serialization.xmlignoreattribute(v=vs.110).aspx

public class ASetting
{
  [XmlIgnore]
  public Type AType;
  public string AString;
}

你试过[非序列化]吗?这是一个链接!