我有一个接口,定义了一些我希望某些类实现的方法.
public interface IMyInterface { MethodA; MethodB; }
另外,我希望实现此接口的所有类都可以序列化.如果我更改接口定义以实现ISerializable如下...:
public interface IMyInterface : ISerializable { MethodA; MethodB; }
...据我所知,所有类现在必须显式实现序列化,因为如果实现ISerializable,则必须实现GetObjectData成员(以及反序列化所需的构造函数).
如何坚持使用我的界面的类是可序列化的,但不强制他们自定义实现序列化?
谢谢,威尔
似乎没有办法做到这一点,但我希望有.
请注意两件事:
所述Serializable属性不能从基类继承,即使基类被标记为抽象的.
从技术上讲,您 不需要Serializable属性,因为它使用的是XmlSerializer,因为它没有使用对象图.