Является ли использование пользовательских атрибутов в C # узким местом в памяти / производительности? - PullRequest
2 голосов
/ 16 апреля 2010

я хочу удалить мои методы и элементы управления графическим интерфейсом с помощью пользовательских атрибутов. Я хочу знать, как атрибуты потребляют память или влияет на производительность приложения. Каков жизненный цикл Атрибута. означает, когда объект класса с пользовательскими атрибутами в методах, свойствах и самостоятельно. создается, а затем утилизируется. Если все пользовательские экземпляры атрибутов также расположены с дескрипцией объекта или все еще остаются в памяти?

1 Ответ

3 голосов
/ 28 мая 2011

Атрибуты существуют в типах, а не в экземплярах объекта, поэтому время жизни экземпляра атрибута не связано с временем жизни экземпляра объекта.

Интенсивное использование атрибутов в коде может стать узким местом, если вы неоднократно используете отражение для доступа к одним и тем же атрибутам в интенсивно используемом коде. Это легко исправить с помощью кэширования. Как именно и когда вы будете кэшировать, будет зависеть от вашего приложения и среды.

В общем, атрибуты предоставляют отличное решение для общего сценария программирования и при правильном использовании не вызовут узкое место в памяти или производительности.

...