このメソッドは、フィールド名とその属性値のディクショナリーを取得します。
- 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 関数。