我正在使用供应商的DLL中的一个类,该类不是XML可序列化的,因为其中一个类成员是一个接口。
但是,我确实需要序列化该类的实例。
如何告诉XmlSerializer忽略接口并序列化其他所有内容?
答案 0 :(得分:0)
你可以做两件事:
1)创建一个包含所需内容的类,使用您的供应商类填充它,然后对其进行序列化。
2)使用Json.Net。一旦我需要序列化具有元数据的IPagedList,我就这样做了:
public static string SerializePagedList(IPagedList<T> pagedList)
{
string result = JsonConvert.SerializeObject(
// new anonymous class with everything I wanted
new
{
Items = pagedList,
MetaData = pagedList.GetMetaData()
},
new JsonSerializerSettings
{
NullValueHandling = NullValueHandling.Ignore,
ReferenceLoopHandling = ReferenceLoopHandling.Ignore
});
return result;
}
我希望它有所帮助。