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。
您应该在属性上设置 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;
}
你试过[非序列化]吗?这是一个链接!