編集: C# オブジェクトを使用する Powershell コードを追加しました。すべてを C# で実行し、Powershell で操作するのは本当に簡単です。ありがとうございました!
PowerShell コードで使用する C# で 2 つのオブジェクトを作成しています。FeatureObject を作成し、その変数を設定したい。次に、FeatureAttributes を作成し、それを FeatureObject のリストに追加します。文字列、整数などを設定および取得できますが、FeatureObject のリストに FeatureAttribute を追加するのに問題があります。
C#
using System;
using System.Collections;
using System.Collections.Generic;
public class FeatureObject {
public string layerName;
public int numFeatures;
public string geometry;
public string unit;
List<FeatureAttr> objFtcAttr;
public FeatureObject()
{
objFtcAttr = new List<FeatureAttr>();
}
public List<FeatureAttr> ftcAttr { get; set; }
}
public class FeatureAttr {
public string AttrKeyName;
public string AttrDataType;
public string AttrNumericRange;
List<String> allValuesOfAttr = new List<String>();
public void setValueOfAttr (string value) {
this.allValuesOfAttr.Add(value);
}
public List<String> getValuesOfAttr() {
return(this.allValuesOfAttr);
}
}
PS
Add-Type -Path C:\projects\bin\FCObject.dll
$ftcObj = New-Object FeatureObject
$ftcAttr = New-Object FeatureAttr
$ftcObj = New-Object FeatureObject
$ftcObj.geometry = $geometry
$ftcObj.ftcAttr.Add($ftcAttr)
また、以下と上記のように、ゲッターとセッターを常に明示的に宣言する必要がありますか? $ftcObj.geometry = $geometry のようにデータを取得して設定することはできませんか??
public string geometry
{
get { return geometry; }
set { geometry = value; }
}
また
public string geometry {get; set; }
助けてください!