可序列化属性是何继承?
在我转载的文章:.NET 中的对象序列化[转] 我用红色标识了一段:
目前一个实体类SuppliersEntity:ObjectEntity 继承于ObjectEntity类
如果此SuppliersEntity使用[Serializable]标明,那么SuppliersEntity的对象supplier1.DeepClone()是没有问题的。
但我想,有没有其他的办法,不要给SupplierEntity标明Serializable,直接继承自ObjectEntity后,就具有可序列化的属性呢?
因为给那么多的实体类加[Serializable]也挺麻烦的。
在我转载的文章:.NET 中的对象序列化[转] 我用红色标识了一段:
需要注意的是,无法继承 Serializable 属性。如果从 MyObject 派生出一个新的类,则这个新的类也必须使用该属性进行标记,否则将无法序列化。例如,如果试图序列化以下类实例,将会显示一个 SerializationException,说明 MyStuff 类型未标记为可序列化。
可是我目前有个问题:
一个抽象的基类ObjectEntity,在基类中我定义了一个方法,此方法用于进行深度Clone:
public EntityObject DeepClone()
{
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
BinaryFormatter formatter=new BinaryFormatter();
formatter.Serialize(stream,this);
stream.Position = 0;
return (EntityObject)formatter.Deserialize(stream);
}
}
{
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
BinaryFormatter formatter=new BinaryFormatter();
formatter.Serialize(stream,this);
stream.Position = 0;
return (EntityObject)formatter.Deserialize(stream);
}
}
目前一个实体类SuppliersEntity:ObjectEntity 继承于ObjectEntity类
如果此SuppliersEntity使用[Serializable]标明,那么SuppliersEntity的对象supplier1.DeepClone()是没有问题的。
但我想,有没有其他的办法,不要给SupplierEntity标明Serializable,直接继承自ObjectEntity后,就具有可序列化的属性呢?
因为给那么多的实体类加[Serializable]也挺麻烦的。