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
| Tipo | Nombre | Descripción | Requerido |
|---|---|---|---|
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
| Tipo | Descripció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.