Potrzebuję dodać atrybut [Serializable] do klasy, która jest wyjątkowo wrażliwa na wydajność.Czy dodanie [Serializable] do klasy może mieć wpływ na wydajność?
Czy ten atrybut ma wpływ na wydajność klasy?
Potrzebuję dodać atrybut [Serializable] do klasy, która jest wyjątkowo wrażliwa na wydajność.Czy dodanie [Serializable] do klasy może mieć wpływ na wydajność?
Czy ten atrybut ma wpływ na wydajność klasy?
Wystąpienia klas atrybutów są tworzone tylko wtedy, gdy są po raz pierwszy używane. Jeśli nie wykonasz żadnej serializacji tej konkretnej klasy, konstruktor SerializableAttribute()
nigdy nie zostanie wywołany, dlatego nie spowoduje żadnych problemów z wydajnością.
Oto ciekawy artykuł na temat konstruktorów atrybut: http://www.codingonthetrain.com/2008/10/attribute-constructors.html
Atrybuty są adnotacje metadanych więc nie dodają wagi do klasy w czasie wykonywania, chyba że są one interpretowane przez program w pewien sposób, który sprawia, że traktuj klasę inaczej.
[Serializable] to po prostu atrybut znacznika używany jako konwencja wskazująca, że klasa jest serializowalna, nie ma żadnego efektu, a środowisko wykonawcze nie traktuje klas w żaden szczególny sposób.
Tylko tak długo, jak trzeba wykonać instancję atrybutu. Dlaczego, co zauważyłeś? –
Pytam tylko z wyprzedzeniem, więc nie muszę tworzyć kolejnego rozwiązania, jeśli miałoby to jakieś problemy z perfekcją. – AngryHacker