我认为将该属性添加到接口(interface)将有助于确保您不会创建使用该接口(interface)的类而忘记使它们可序列化。
这可能是一个非常基础的问题,但我想请教专家。
最佳答案
接口(interface)定义一个契约并且没有自己的任何状态。
序列化是关于在对象模型中保存和加载状态。
序列化没有状态的东西没有多大意义。
为了回答强制接口(interface)的实现成为Serializable
的实际问题 - 这就是为什么 ISerializable
接口(interface)存在。
在 .NET 中,您可以声明一个应该实现其他接口(interface)的接口(interface):
interface MustBeSerializable : ISerializable {}
查看更多信息 here .
关于c# - 为什么接口(interface)不是 [Serializable]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2639362/