我正在做的是通过后台任务序列化类并抛出异常
无法序列化成员'BackgroundTask.BackgroundTaskDescription.Emails'的类型 “System.Collections.Generic.IList
我的班级结构如下所示。
public sealed class BackgroundTaskDescription
{
public string Subject { get; set; }
public string Message { get; set; }
public string dueTime { get; set; }
public IList<string> Emails { get; set; }
}
我是如何实现这一点的。我需要List来通过后台任务存储电子邮件。
答案 0 :(得分:3)
XmlSerializer
不处理IList<T>
类型的属性。有一些解决方法,最简单的方法是将属性的类型更改为List<T>.
将适当的[Serializable]
和Xml属性添加到您的班级。
添加代码段,
[Serializable]
public sealed class BackgroundTaskDescription
{
public BackgroundTaskDescription()
{
Subject = string.Empty;
Message = string.Empty;
dueTime = string.Empty;
Emails = new List<string>();
}
public string Subject { get; set; }
public string Message { get; set; }
public string dueTime { get; set; }
public List<string> Emails { get; set; }
}
答案 1 :(得分:0)
我通过改变类的结构找到了解决方案,如下所示
public sealed class BackgroundTaskDescription
{
public string Subject { get; set; }
public string Message { get; set; }
public string dueTime { get; set; }
public string[] Emails { get; set; }
}