1. ホーム
  2. c#

[解決済み] リフレクションでクラスのプロパティを取得するが、継承されたクラスからは取得できない

2023-06-28 05:06:08

質問

class Parent {
   public string A { get; set; }
}

class Child : Parent {
   public string B { get; set; }
}

プロパティAを使わずにプロパティBだけを取得したいのですが しかし

Child.GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance)

両方のプロパティを返す :/)

どのように解決するのですか?

以下のように バインディングフラグ.DeclaredOnly をフラグに追加してください、つまり

typeof(Child).GetProperties(System.Reflection.BindingFlags.Public
    | System.Reflection.BindingFlags.Instance
    | System.Reflection.BindingFlags.DeclaredOnly)