27

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

这个属性会对类的操作产生任何性能影响吗?

4

2 回答 2

25

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

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

于 2009-09-10T01:05:08.427 回答
7

属性是元数据注释,因此它们不会在运行时为类增加权重,除非运行时以某种方式解释它们,从而使其以不同的方式对待类。

[Serializable] 只是一个标记属性,用作约定来指示该类是可序列化的,它没有任何作用,并且运行时不会以任何特殊方式对待这些类。

于 2009-09-10T01:08:31.153 回答