ネストされたすべてのクラス内のすべてのフィールドのリストを取得する方法
class AirCraft
{
class fighterJets
{
public string forSeas = "fj_f18";
public string ForLand = "fj_f15";
}
class helicopters
{
public string openFields = "Apachi";
public string CloseCombat = "Cobra";
}
}
私が使用しようとしているコードは、ここの投稿の 1 つからのものです。これを 2 つまたは 3 つのコード行に分割することができます。
IEnumerable<FieldInfo> GetAllFields(Type type) {
return type.GetNestedTypes().SelectMany(GetAllFields)
.Concat(type.GetFields());
}
これは、名前や値ではなくfieldInfoを返します。文字列のリストとして、またはフィールド値と名前の両方の辞書として必要ですが、今のところリストで十分です。
List<string> (or dictionary) ChosenContainersNamesOrValuesOfAllNested(Type T)
{
return a shortest syntax for that task, using lambda rather foreach
}
ありがとう。