0

我正在做的是通过后台任务序列化类并抛出异常

无法序列化类型为“System.Collections.Generic.IList”的成员“BackgroundTask.BackgroundTaskDescription.Emails”

我的班级结构如下所示。

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; }
}

我如何实现这个。?我需要通过后台任务存储电子邮件的列表。

4

2 回答 2

3

XmlSerializer不处理 type 的属性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; }
        }
于 2013-09-11T10:16:32.287 回答
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; }
}
于 2013-09-11T13:07:46.920 回答