0

次のクラス モデルがあるとします。

Class1 -> BaseClass

また

Class2 -> BaseClass

クラス 1 には次のプロパティがあります。

public string Property1 { get; set; }
public int Property2 { get; set; }

Class2 には次のプロパティがあります。

public double Property1 { get; set; }
public string Property2 { get; set; }
public int Property3 { get; set; }

インスタンス化された子クラスのすべてのプロパティのハッシュを作成するメソッドを BaseClass に作成したいと考えています。リフレクションを使用して、子クラスのプロパティを取得するにはどうすればよいですか?

.Net では多重継承が許可されていないため、子クラスが 1 つ (または子クラスが 1 行) しかないと仮定しても安全だと思います。

4

1 に答える 1

3

using を探しているだけのように聞こえます。GetType()これにより、現在のオブジェクトの実行時のタイプが得られます。

foreach (var property in this.GetType().GetProperties())
{
    var value = property.GetValue(this, null);
    // Whatever
}

のインスタンスで呼び出されるとClass1Property1コードProperty2BaseClass.

于 2013-08-15T18:00:24.480 に答える