xmlelementattribute xmlattribute sharp serialize example c# visual-studio-2008 performance attributes serializable

c# - xmlattribute - ¿Agregar[Serializable] a la clase tiene alguna implicación en el rendimiento?



xml serialization c# (2)

Necesito agregar el atributo [Serializable] a una clase que es extremadamente sensible al rendimiento.

¿Tendrá este atributo alguna implicación de rendimiento en el funcionamiento de la clase?


Los atributos son una anotación de metadatos, por lo que no agregan peso a una clase en tiempo de ejecución, a menos que el tiempo de ejecución los interprete de una manera determinada que hace que trate a la clase de manera diferente.

[Serializable] es simplemente un atributo de marcador usado como una convención para indicar que la clase es serializable, no tiene ningún efecto y el tiempo de ejecución no trata las clases de ninguna manera especial.


Las instancias de clases de atributos solo se crean cuando se accede por primera vez. Si no realiza ninguna serialización en esa clase en particular, nunca se llamará al constructor SerializableAttribute() , por lo tanto, no causará ningún problema de rendimiento.

Aquí hay un artículo interesante sobre constructores de atributos: http://www.codingonthetrain.com/2008/10/attribute-constructors.html