您的位置:首页 > 其它

“可序列化”属性的不可继承,有其他办法解决吗?

2005-03-29 15:04 573 查看
可序列化属性是何继承?

 在我转载的文章:.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);

            }

        

        }

 目前一个实体类SuppliersEntity:ObjectEntity 继承于ObjectEntity类

 如果此SuppliersEntity使用[Serializable]标明,那么SuppliersEntity的对象supplier1.DeepClone()是没有问题的。 

 但我想,有没有其他的办法,不要给SupplierEntity标明Serializable,直接继承自ObjectEntity后,就具有可序列化的属性呢?

 因为给那么多的实体类加[Serializable]也挺麻烦的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: