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
| Typ | Name | Beschreibung | Erforderlich |
|---|---|---|---|
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
| Typ | Beschreibung |
|---|---|
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.