我正在尝试序列化一个类,其中几个数据成员是可空对象,这是一个示例

[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,因为对于属性而言,表示形式过于复杂。那就是异常告诉你的。

09-11 02:56