序列化对象时出错

时间:2014-03-06 13:57:25

标签: c# serialization enterprise-library

序列化对象时出现以下错误。

在程序集“Microsoft.Practices.EnterpriseLibrary.Data,Version = 5.0.414.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35”中键入“Microsoft.Practices.EnterpriseLibrary.Data.Sql.SqlDatabase”未标记为可序列化。

通常的解决方法是将[Serializable]添加到错误类中。

由于我们没有SqlDatabase的可编辑类,这是否意味着我无法将其序列化?

2 个答案:

答案 0 :(得分:0)

您可以在运行时添加属性:C#: How to add an attributes to an object at run-time?

TypeDescriptor.AddAttributes(type, attribs);
TypeDescriptor.AddAttributes(instance, attribs);

答案 1 :(得分:0)

您想要序列化整个对象层次结构吗?如果不是,您可以将[XmlIgnore]属性添加到您不想序列化的属性。

[XmlIgnore]
public TypeToIgnore PropertyToIgnore {
    get { return _propertyToIgnore; }
    set { _propertyToIgnore= value; }
}