1.. Есть ли накладные расходы на производительность, вызванные использованием атрибутов? Подумайте о таком классе, как:
public class MyClass
{
int Count {get;set;}
}
где он имеет 10 атрибутов (атрибуты являются классами, где сами классы атрибутов больше, чем MyClass, например:
public class FirstAttribute : Attribute
{
int A,B,C,D,E,F,G,H,I,J ... {get;set;}
}
2.. Будет ли 10 из этих атрибутов накладными расходами памяти каждый раз при создании MyClass
? (FirstAttribute
, в 10 раз превышающем размер MyClass
, который будет украшен 10 из них, поэтому сделать сам фактический объект настолько мал по сравнению с общим размером атрибутов, украшенных на нем.) Является ли это проблемой?
3.. Будет ли этот сценарий каким-либо другим для структур (Structs - типы значений и атрибуты, являющиеся ссылочными типами)?
4.. Где аттрибуты хранятся в памяти относительно объекта, к которому они прикреплены? Как они связаны друг с другом?
5.. Инициализируются ли атрибуты, как только MyClass
инициализируется, или когда вы используете отражение для их извлечения?