Domanda

Devo aggiungere l'attributo [Serializable] a una classe che è estremamente sensibile alle prestazioni.

Questo attributo avrà implicazioni in termini di prestazioni sul funzionamento della classe?

È stato utile?

Soluzione

Le istanze delle classi di attributi vengono create solo al primo accesso. Se non esegui alcuna serializzazione su quella particolare classe, il costruttore SerializableAttribute () non verrà mai chiamato, quindi non causerà problemi di prestazioni.

Ecco un articolo interessante sui costruttori di attributi: http://www.codingonthetrain.com/2008/10/attribute-constructors.html

Altri suggerimenti

Gli attributi sono annotazioni di metadati in modo che non aggiungano peso a una classe in fase di runtime, a meno che non vengano interpretati dal runtime in un certo modo che la tratti in modo diverso dalla classe.

[Serializable] è semplicemente un attributo marker utilizzato come convenzione per indicare che la classe è serializzabile, non ha alcun effetto e il runtime non tratta le classi in alcun modo speciale.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top