Метод FeatureLayer.GetAttributes возвращает коллекцию словарей со всеми названиями полей и значениями для всех объектов в указанном векторном слое на чертеже. Коллекция включает в себя словарь для каждого объекта указанного векторного слоя на чертеже. Если указано значение поля, то будет возвращено только запрошенное поле.
Декларация
public IEnumerable<Dictionary<string, IConvertible>> Esri.ArcGISForAutoCAD.FeatureLayer.GetAttributes(Document doc, string flName, string sublayerName = null, string field = null)
Параметры
| Тип | Имя | Описание | Обязательный |
|---|---|---|---|
Документ | doc | Документ AutoCAD, на основании которого следует действовать. | required |
string | flName | Имя существующего векторного слоя чертежа. | required |
string | sublayerName | Имя существующего векторного подслоя чертежа. | дополнительно |
| string | field | Имя поля существующего векторного слоя чертежа. | дополнительно |
Возвращаемые значения
| Тип | Описание |
|---|---|
IEnumerable<Dictionary<string, IConvertible>> | Коллекция словарей всех атрибутов для всех объектов в указанном векторном слое. |
Замечания по условиям возникновения ошибок
Этот метод может выдать исключение или вернуть null, если параметр является некорректным.
Пример
Вывести все атрибуты для трех объектов слоя объектов векторного слоя Shelters с подслоем Open в текущем чертеже. // Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
// Get the attributes
var sheltersAttributes = Esri.ArcGISForAutoCAD.FeatureLayer.GetAttributes(doc, "Shelters", "Open");
// Print the attributes
foreach (var dictionary in sheltersAttributes)
{
foreach (var attribute in dictionary)
{
doc.Editor.WriteMessage("\n{0}: {1}", attribute.Key, attribute.Value);
}
}
/* Example output
EntityHandle: 30C
EntityType: POINT
facname: ARLENE WELCH ELEMENTARY SCHOOL
capacity: 609
hoursoper: 8:30am-5:00pm
sheltstat: Open
EntityHandle: 2FD
EntityType: POINT
facname: OLIVER JULIAN KENDALL ELEM SCHOOL
capacity: 656
hoursoper: 8:30am-5:00pm
sheltstat: Open
EntityHandle: 2EE
EntityType: POINT
facname: CLIFFORD CRONE MIDDLE SCHOOL
capacity: 093
hoursoper: 6:00am-7:00pm
sheltstat: Open
*/
См. также
Attributes.Get — метод .NET, который получает словарь имен полей векторного слоя и значений их атрибутов.
esri_featurelayer_getattributes — функция AutoLISP, которая получает атрибуты каждого объекта в векторном слое.