0
我在C#中有一個類,我試圖使用DataContractSerializer進行序列化。它看起來是這樣的:忽略DataContractSerializer的嵌套類型
namespace Foo
{
[DataContract(Name = "Bar")]
class Bar
{
class A
{
public A(object a, object b, object c)
{
d = a;
e = b;
f = c;
}
public object d;
public object e;
public object f;
}
[DataMember]
private ArrayList lst = new ArrayList();
...
}
}
當我嘗試序列化這個類,我得到一個錯誤:
「System.Runtime.Serialization.SerializationException:鍵入‘Foo.Bar + A’數據合同如果您使用的是DataContractSerializer,請考慮使用DataContractResolver,或者將未知的靜態類型添加到已知類型的列表中。「
我想要做的是忽略A.它只是一個類型的定義。我試圖序列化的DataMembers都不是A型。
編輯:這是序列化代碼。
public void Serialize()
{
var writer = new FileStream("testoutput.xml", FileMode.Create);
var serializer = new DataContractSerializer(typeof(Bar));
serializer.WriteObject(writer, this);
writer.Close();
}
在serializer.WriteObject上拋出異常。
你可以發佈你使用序列化'Bar'類型的對象的代碼嗎? – peval27
@ peval27編輯 – ifangy
@ifangy您的代碼適合我。 .NET版本? – peval27