Влияет ли добавление [Serializable] в класс на производительность?

StackOverflow https://stackoverflow.com/questions/1402903

Вопрос

Мне нужно добавить атрибут [Serializable] в класс, который чрезвычайно чувствителен к производительности.

Будет ли этот атрибут влиять на производительность класса?

Это было полезно?

Решение

Экземпляры классов атрибутов создаются только при первом обращении к ним. Если вы не выполняете сериализацию для этого конкретного класса, конструктор SerializableAttribute () никогда не будет вызываться, поэтому он не вызовет проблем с производительностью.

Вот интересная статья о конструкторах атрибутов: http://www.codingonthetrain.com/2008/10/attribute-constructors.html

Другие советы

Атрибуты являются аннотациями метаданных, поэтому они не добавляют веса классу во время выполнения, если только они не интерпретируются средой выполнения определенным образом, что заставляет его по-разному относиться к классу.

[Serializable] - это просто атрибут маркера, используемый в качестве соглашения для указания того, что класс сериализуем, он не действует и среда выполнения не обрабатывает классы каким-либо особым образом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top