Skip To Content

Attributes.Get (.NET)

Cette méthode obtient un dictionnaire des noms de champs et de leurs valeurs attributaires.

  • Si seul l’ObjectId ArcGIS pour AutoCAD est spécifié, tous les champs attributaires et leurs valeurs stockés sur l’entité sont renvoyés.
  • Si la valeur flName est spécifiée, seuls les attributs appartenant à cette couche d’entités sont inclus.
  • Si les valeurs flName et fieldName sont toutes les deux spécifiées, seule la valeur stockée du champ ou sa valeur par défaut est renvoyée, et ce, uniquement si elle appartient à la couche d’entités.

Déclaration

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

Paramètres

TypeNomDescriptionRequis

Document

doc

Document AutoCAD sur lequel intervenir.

required

ObjectID

objId

ObjectId AutoCAD de l’entité.

required

chaîne

flName

Nom de la couche d’entités. On suppose que l’entité appartient à cette couche d’entités et n’inclura que les valeurs de champs de la couche d’entités spécifiée. Les valeurs par défaut sont renvoyées si aucune valeur n’est définie.

obligatoire si fieldName est spécifié

chaîne

fieldName

Nom de champ unique. La valeur renvoyée est limitée à ce seul champ.

facultatif

Retours

TypeDescription

Dictionary<chaîne, IConvertible>

Dictionnaire des noms de champs et de leurs valeurs attributaires. Key : nom de champ, Value : valeur attributaire.

Remarques sur les conditions d’erreur

Si un paramètre n’est pas valide, cette méthode peut générer une exception ou renvoyer null.

Exemple 1

Affiche les attributs de la couche d’entités Centerlines pour l’entité désignée.

// 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
*/

Exemple 2

Affiche la seule valeur de champ StreetName de la couche d’entités Centerlines pour l’entité désignée.

// 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
*/

Voir aussi

FeatureLayer.GetAttributes : méthode .NET qui renvoie un ensemble de dictionnaires contenant tous les noms de champ et les valeurs associées pour toutes les entités de la couche d’entités spécifiée dans le dessin.

FeatureLayer.SelectEntity : méthode .NET qui invite à sélectionner une seule entité et renvoie l’élément ObjectIdAutoCAD associé.

esri_attributes_get : fonction AutoLISP qui extrait une liste associée des noms de champs et de leurs valeurs attributaires par défaut.