在类中添加[Serializable]是否会产生任何性能影响?

时间:2009-09-10 01:00:02

标签: c# visual-studio-2008 performance attributes serializable

我需要将[Serializable]属性添加到对性能非常敏感的类中。

此属性是否会对类的操作产生任何性能影响?

2 个答案:

答案 0 :(得分:25)

属性类的实例仅在首次访问时创建。如果您不对该特定类进行任何序列化,则永远不会调用SerializableAttribute()构造函数,因此不会导致任何性能问题。

这是一篇关于属性构造函数的有趣文章: http://www.codingonthetrain.com/2008/10/attribute-constructors.html

答案 1 :(得分:7)

属性是元数据注释,因此它们不会在运行时向类添加权重,除非运行时以某种方式解释它们使得它以不同的方式处理类。

[Serializable]只是一个标记属性,用作约定来表示该类是可序列化的,它没有效果,运行时不会以任何特殊的方式处理类。