Влияет ли добавление [Serializable] в класс на производительность?
-
05-07-2019 - |
Вопрос
Мне нужно добавить атрибут [Serializable] в класс, который чрезвычайно чувствителен к производительности. Р>
Будет ли этот атрибут влиять на производительность класса?
Решение
Экземпляры классов атрибутов создаются только при первом обращении к ним. Если вы не выполняете сериализацию для этого конкретного класса, конструктор SerializableAttribute ()
никогда не будет вызываться, поэтому он не вызовет проблем с производительностью.
Вот интересная статья о конструкторах атрибутов: http://www.codingonthetrain.com/2008/10/attribute-constructors.html р>
Другие советы
Атрибуты являются аннотациями метаданных, поэтому они не добавляют веса классу во время выполнения, если только они не интерпретируются средой выполнения определенным образом, что заставляет его по-разному относиться к классу.
[Serializable] - это просто атрибут маркера, используемый в качестве соглашения для указания того, что класс сериализуем, он не действует и среда выполнения не обрабатывает классы каким-либо особым образом.