Hat das Hinzufügen [serialisierbar] zur Klasse irgendwelche Auswirkungen auf die Leistung?
-
05-07-2019 - |
Frage
Ich muss das [serialisierbare] Attribut zu einer Klasse hinzufügen, die extrem leistungsempfindlich ist.
Wird dieses Attribut Auswirkungen auf den Betrieb der Klasse haben?
Lösung
Instanzen von Attributklassen werden nur erstellt, wenn sie zum ersten Mal zugegriffen werden. Wenn Sie in dieser bestimmten Klasse keine Serialisierung durchführen, die SerializableAttribute()
Der Konstruktor wird niemals aufgerufen, daher wird er keine Leistungsprobleme verursachen.
Hier ist ein interessanter Artikel über Attributkonstruktoren:http://www.codingonthetrain.com/2008/10/attribute-constructors.html
Andere Tipps
Attribute sind eine Metadatenanmerkungen, sodass sie einer Klasse zur Laufzeit kein Gewicht hinzufügen, es sei denn, sie werden von der Laufzeit auf eine bestimmte Weise interpretiert, die die Klasse anders behandelt.
Serialisierbar] ist einfach ein Markerattribut, das als Konvention verwendet wird, um anzuzeigen, dass die Klasse serialisierbar ist, es keine Wirkung hat und die Laufzeit die Klassen nicht auf besondere Weise behandelt.