Skip To Content

Attributes.Get (.NET)

Este método obtiene un diccionario de los nombres de campos y sus valores de atributos.

  • Si solo se proporciona el ArcGIS for AutoCAD ObjectId, se devuelven todos los campos de atributos y sus valores almacenados en la entidad.
  • Si se proporciona el valor flName, solo se incluyen los atributos pertenecientes a esa capa de entidades.
  • Si se proporcionan los valores flName y fieldName, solo se devuelve el valor almacenado del campo o su valor predeterminado y solo si pertenece a la capa de entidades.

Declaración

public Dictionary<string, IConvertible> Esri.ArcGISForAutoCAD.Attributes.Get(Document doc, ObjectId objId, string flName = null, string fieldName = null)

Parámetros

TipoNombreDescripciónRequerido

Documento

doc

Documento de AutoCAD sobre el que se va a actuar.

obligatorio

ObjectId

objId

AutoCAD ObjectId de la entidad.

obligatorio

cadena

flName

Nombre de la capa de entidades. Se supone que la entidad es un miembro de esta capa de entidad y solo incluirá valores de campo de la capa de entidades especificada. Si no se configuran valores, se devuelven los valores predeterminados.

obligatorio si se proporciona fieldName

cadena

fieldName

Nombre de campo único. El valor devuelto se limita a este campo único.

opcional

Devoluciones

TipoDescripción

Diccionario<string, IConvertible>

Diccionario de nombres de campos y sus valores de atributos. Key: nombre de campo, Value: valor de atributo.

Observaciones sobre las condiciones de error

Este método puede generar una excepción o devolver null si un parámetro no es válido.

Ejemplo 1

Imprima los atributos de la capa de entidades Centerlines correspondiente a la entidad designada.

// Initialize
var doc = Application.DocumentManager.MdiActiveDocument;
var flName = "Centerlines";
var objId = Esri.ArcGISForAutoCAD.FeatureLayer.SelectEntity(doc, flName);

// Get the attributes
var centerlinesAttributes = Esri.ArcGISForAutoCAD.Attributes.Get(doc, objId, flName);

// Print the attributes
foreach (var attribute in centerlinesAttributes)
{
  doc.Editor.WriteMessage("\nKey = {0}, Value = {1}", attribute.Key, attribute.Value);
}

/* Example output 
Key = EntityHandle, Value = 252
Key = EntityType, Value = LWPOLYLINE
Key = StreetName, Value = S Roosevelt Blvd
Key = Pavement, Value = 6
Key = Rating, Value = 0.6259
*/

Ejemplo 2

Imprima el valor de campo StreetName de la capa de entidades Centerlines correspondiente a la entidad designada.

// Initialize 
var doc = Application.DocumentManager.MdiActiveDocument;
var flName = "Centerlines";
var objId = Esri.ArcGISForAutoCAD.FeatureLayer.SelectEntity(doc, flName);

// Get the attribute from the single field
var streetNameAttribute = Esri.ArcGISForAutoCAD.Attributes.Get(doc, objId, flName, "StreetName");

// Print the street name
doc.Editor.WriteMessage("The street name is " + streetNameAttribute["StreetName"]);

/* Example output
The street name is Truman Avenue
*/

Consulte también

FeatureLayer.GetAttributes: método de .NET que devuelve un conjunto de diccionarios de todos los nombres de campo y valores de todas las entidades de la capa de entidades especificada en el dibujo.

FeatureLayer.SelectEntity : método de .NET que solicita la selección de una entidad y devuelve su AutoCAD ObjectId.

esri_attributes_get: función de AutoLISP que obtiene una lista asociada de los nombres de campos y sus valores de atributos predeterminados.