Question

Je dois ajouter l'attribut [Serializable] à une classe extrêmement sensible aux performances.

Cet attribut aura-t-il des conséquences en termes de performances sur le fonctionnement de la classe?

Était-ce utile?

La solution

Les instances de classes d'attributs ne sont créées qu'à leur premier accès. Si vous ne procédez à aucune sérialisation sur cette classe particulière, le constructeur SerializableAttribute () ne sera jamais appelé, ce qui ne causera donc aucun problème de performances.

Voici un article intéressant sur les constructeurs d'attributs: http://www.codingonthetrain.com/2008/10/attribute-constructors.html

Autres conseils

Les attributs étant des annotations de métadonnées, ils n’ajoutent donc pas de poids à une classe au moment de l’exécution, à moins qu’ils ne soient interprétés par celui-ci d’une manière qui permette de traiter la classe différemment.

[Serializable] est simplement un attribut marqueur utilisé comme convention pour indiquer que la classe est sérialisable, qu'elle n'a aucun effet et que le moteur d'exécution ne traite pas les classes de manière particulière.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top