1
我收到下面的異常信息,而序列化對象到XML:序列化異常:數據合同預計不會
{"Type 'Alerter.EmailSender' with data contract name 'EmailSender:http://schemas.datacontract.org/2004/07/Alerter' is not expected. Consider using a DataContractResolver or add any types not known statically to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding them to the list of known types passed to DataContractSerializer."}
這是我試圖序列化的一個對象到XML文件中的類:
namespace Alerter
{
[DataContract]
public class EmailSender : IAction
{
private EmailSetting _emailSetting;
private SmtpClient _smtpClient;
[DataMember]
public bool IncludeFullDetails
{
get;
set;
}
[DataMember]
public string[] Receivers
{
get;
set;
}
public EmailSender()
{
_emailSetting = new EmailSetting();
SetupClient();
}
private void SetupClient()
{
// Some Logic
}
public void Report(LogDictionary logDictionary)
{
// Some Logic
}
}
}
這是我使用的序列化的代碼:
using (FileStream writer = new FileStream(fileName, FileMode.Create))
{
DataContractSerializer ser =
new DataContractSerializer(typeof(List<Rule>));
ser.WriteObject(writer, list);
}
我很欣賞你的他LP。
是的,就是這樣......謝謝先生。 – 2013-02-17 13:17:31
很高興我能幫到你。 – 2013-02-17 13:23:28