![]() | Работа с атрибутами объектов |
Атрибуты объектов подразделяются на системные (присутствующие по умолчанию) и пользовательские (созданные в процессе эксплуатации). Системные атрибуты в свою очередь подразделяются на простые и вычисляемые. Синтаксис доступа к значению атрибута различается в зависимости от его типа.
Доступ к значению системного атрибута объекта осуществляется по наименованию атрибута с префиксом Attribute.
var value = instance.AttributeValue;
В случае, если системный атрибут объекта представлен массивом значений и не является вычисляемым, доступ к коллекции его значений производится через вложенный метод .GetValues().
var values = instance.AttributeValues.GetValues();
Модификация значения системного атрибута объекта может быть выполнена обычным присваиванием.
instance.AttributeValue = value;
В случае, если системный атрибут объекта представлен массивом значений и не является вычисляемым, модификация коллекции его значений производится через вложенные методы .SetValues(), .Clear(), .Add().
instance.AttributeValues.Add(value);
Доступ к значению пользовательского атрибута объекта осуществляется по наименованию атрибута с указанием ожидаемого типа. Синтаксис доступа к значению пользовательского атрибута объекта ориентирован на получение массива значений, поэтому для не являющегося массивом атрибута будет возвращена коллекция из одного элемента.
var values = instance["Наименование атрибута"].GetValues<[ожидаемый тип]>();
Модификация значения пользовательского атрибута объекта может быть выполнена через вложенный метод .SetValues().
instance["Наименование атрибута"].SetValues(values);