我正在尝试序列化一个类,其中几个数据成员是可空对象,这是一个示例
[XmlAttribute("AccountExpirationDate")]
public Nullable<DateTime> AccountExpirationDate
{
get { return userPrincipal.AccountExpirationDate; }
set { userPrincipal.AccountExpirationDate = value; }
}
但是在运行时我得到了错误
无法序列化类型为System.Nullable`1 [System.DateTime]的成员'AccountExpirationDate'。 XmlAttribute/XmlText不能用于编码复杂类型。
但是我检查了,Nullable是SerializableAttribute。我究竟做错了什么?
最佳答案
您只能将其序列化为XmlElement
,而不能序列化为XmlAttribute
,因为对于属性而言,表示形式过于复杂。那就是异常告诉你的。