Skip To Content

Attributes.Get (.NET)

Diese Methode ruft ein Wörterbuch mit den Feldnamen und ihren Attributwerten ab.

  • Wenn nur die ArcGIS for AutoCAD-ObjectId bereitgestellt wird, werden alle im Objekt gespeicherten Attributfelder und deren Werte zurückgegeben.
  • Bei Angabe des Werts flName, werden nur Attribute, die zu diesem Feature-Layer gehören, berücksichtigt.
  • Wenn sowohl der Wert flName als auch der Wert fieldName angegeben wird, wird nur der gespeicherte Wert des Feldes oder dessen Standardwert zurückgegeben, und dies auch nur dann, wenn das Feld zum Feature-Layer gehört.

Deklaration

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

Parameter

TypNameBeschreibungErforderlich

Dokument

doc

Das AutoCAD-Dokument, das bearbeitet werden soll.

Erforderlich

ObjectId

objId

Die AutoCAD-ObjectId des Features.

Erforderlich

Zeichenfolge

flName

Der Name des Feature-Layers. Es wird davon ausgegangen, dass das Objekt Bestandteil dieses Feature-Layers ist und nur Feldwerte für den angegebenen Feature-Layer enthält. Wenn keine Werte festgelegt sind, werden Standardwerte zurückgegeben.

Erforderlich, wenn "fieldName" angegeben ist.

Zeichenfolge

fieldName

Der Name des einzelnen Feldes. Der Rückgabewert ist auf dieses eine Feld beschränkt.

Optional

Rückgaben

TypBeschreibung

Dictionary<Zeichenfolge, IConvertible>

Ein Wörterbuch mit Feldnamen und ihren Attributwerten. Key: Feldname, Value: Attributwert.

Anmerkungen zu Fehlermeldung

Diese Methode kann eine Ausnahme auslösen oder null zurückgeben, wenn ein Parameter ungültig ist.

Beispiel 1

Ausgeben der Attribute des Feature-Layers Centerlines für das angegebene Objekt.

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

Beispiel 2

Ausgeben des Werts des einzelnen Felds StreetName aus dem Feature-Layer Centerlines für das angegebene Objekt.

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

Weitere Informationen

FeatureLayer.GetAttributes: Eine .NET-Methode, die eine Sammlung von Wörterbüchern mit allen Feldnamen und Werten für alle Features innerhalb des angegebenen Feature-Layers in der Zeichnung zurückgibt.

FeatureLayer.SelectEntity: Eine .NET-Methode, die zur Auswahl eines Objekts auffordert und dessen AutoCAD-ObjectId zurückgibt.

esri_attributes_get: Eine AutoLISP-Funktion, die eine Assoziationsliste der Feldnamen und ihrer Standardattributwerte abruft.