将类设置为Serializable的缺点

我正在使用Azure Cache预览,需要创建一些Serializable类。

将类设置为可序列化是否有任何缺点 – 例如性能问题?

[Serializable] public class MyClass {} 

我发现很少有相关问题,但它们并不是缺点。

  1. 所有.NETexception都是可序列化的吗?

  2. 将类标记为Serializable的缺点

预先感谢

不,仅仅标记为[Serializable]就没有固有的开销。 我唯一的问题是BinaryFormatterNetDataContractSerializer是糟糕的序列化程序,大多数其他序列化程序对此标志不感兴趣(好吧,我可能有偏见)

假设您正在讨论使用Serializable属性而不是实际序列化过程的成本,一个缺点是第三方通常会认为该类被设计为可序列化的。 虽然情况可能如此,如果您只是为了它而将其标记为可序列化(并且如果第三方可能与之交互),那么您可能希望花时间确保该类适合以有效的方式序列化。 从这个角度来看,它更像是资源权衡,而不是技术权衡。

从技术角度来看,正如Marc Gravell所说,只使用该属性不会有任何开销。