[英]Serialize to XML a class containing a struct
这是我要序列化的类
[Serializable]
public class PendingAccountInfo
{
public AccountId AccountId { get; set; }
public string EmailAddress { get; set; }
}
[Serializable]
public struct AccountId : IEquatable<AccountId>
{
private readonly int _id;
public AccountId(int id) {
_id = id;
}
public int Id {
get { return _id; }
}
...
}
这就是我进行序列化的方式
XmlSerializer xmlserializer = new XmlSerializer(typeof(List<T>));
StringWriter stringWriter = new StringWriter();
XmlWriterSettings settings = new XmlWriterSettings { OmitXmlDeclaration = true, Indent = true };
XmlWriter writer = XmlWriter.Create(stringWriter, settings);
xmlserializer.Serialize(writer, value);
string result = stringWriter.ToString();
这就是我得到的
<PendingAccountInfo>
<AccountId />
<EmailAddress>test@test.com</EmailAddress>
</PendingAccountInfo>
根据我的阅读,这应该有效,但是我必须缺少一些东西
这里的问题来自您的readonly属性。 如该其他线程中所述 ,XmlSerializer仅序列化具有get / set可访问性的属性。
您可以做的是使属性可设置或更改序列化程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.