当前位置:  开发笔记 > 编程语言 > 正文

从接口强制执行可序列化而不强制类在C#中自定义序列化

如何解决《从接口强制执行可序列化而不强制类在C#中自定义序列化》经验,为你挑选了1个好方法。

我有一个接口,定义了一些我希望某些类实现的方法.

public interface IMyInterface
{
    MethodA;
    MethodB;
}

另外,我希望实现此接口的所有类都可以序列化.如果我更改接口定义以实现ISerializable如下...:

public interface IMyInterface : ISerializable
{
    MethodA;
    MethodB;
}

...据我所知,所有类现在必须显式实现序列化,因为如果实现ISerializable,则必须实现GetObjectData成员(以及反序列化所需的构造函数).

如何坚持使用我的界面的类是可序列化的,但不强制他们自定义实现序列化?

谢谢,威尔



1> Thrash505..:

似乎没有办法做到这一点,但我希望有.

请注意两件事:

所述Serializable属性不能从基类继承,即使基类被标记为抽象的.

技术上讲,不需要Serializable属性,因为它使用的是XmlSerializer,因为它没有使用对象图.

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有