Skip To Content

Attributes.Get (.NET)

このメソッドは、フィールド名とその属性値のディクショナリーを取得します。

  • ArcGIS for AutoCAD ObjectId だけを指定した場合は、該当するエンティティーに格納されているすべての属性フィールドとその値が返されます。
  • flName 値を指定すると、そのフィーチャ レイヤーに属している属性だけが含まれます。
  • flName 値と fieldName 値を両方とも指定すると、フィールドがそのフィーチャ レイヤーに属している場合に限り、格納されている値またはそのデフォルト値だけが返されます。

宣言

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

パラメーター

タイプ名前説明必須

ドキュメント

doc

操作対象の AutoCAD ドキュメント。

必須

ObjectId

objId

フィーチャの AutoCAD ObjectId

必須

string

flName

フィーチャ レイヤー名。 エンティティーがこのフィーチャ レイヤーのメンバーであると見なされ、指定したフィーチャ レイヤーのフィールド値だけが含まれます。 値が設定されていない場合、デフォルト値が返されます。

fieldName が指定されている場合は必須

string

fieldName

単一のフィールド名。 返される値は、このフィールドだけに制限されます。

オプション

リターン

タイプ説明

Dictionary<string, IConvertible>

フィールド名とその属性値のディクショナリー。 Key: フィールド名、Value: 属性値。

エラー条件に関する注記

パラメーターが無効な場合、このメソッドは例外をスローするか、null を返すことがあります。

例 1

指定されたエンティティーの Centerlines フィーチャ レイヤー属性を出力します。

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

例 2

指定されたエンティティーの Centerlines フィーチャ レイヤーから単一の StreetName フィールド値を出力します。

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

次もご参照ください。

FeatureLayer.GetAttributes - ドローイング内の指定したフィーチャ レイヤー内のすべてのフィーチャについて、すべてのフィールド名と値のディクショナリーのコレクションを返す .NET メソッド。

FeatureLayer.SelectEntity - 1 つのエンティティーの選択の確認を求めて、その AutoCAD ObjectId を返す .NET メソッド。

esri_attributes_get - フィールド名とその属性値の関連リストを取得する AutoLISP 関数。