0

私は以下のようなクラス構造を持っています、

Class A
{ 
     ClassB objB {get; set;}
     int data {get; set;}
}
Class B
{
     int x {get; set;}
     int data {get; set;}
}

ここで、クラス A オブジェクトに次の入力を保存するために、クラス A でリフレクションを使用する必要があります (例: 入力 => データ = 10;x = 15; データ = 20)

問題: これを行うと、PropertyInfo[] p = typeof(ClassA).GetProperties()

p で [objB, data] を取得します。

しかし、上記の構造の基本的なデータ型にドリルダウンする必要があります。つまり、次のようなものが必要です。

[データ (クラス A から)、x (クラス B から)、データ (クラス B から)] これが私の最初の要件です

2 番目の要件: 上記の要件に達したら、データ (クラス A から) とデータ (クラス B から) をどのように区別しますか。

4

2 に答える 2

0

pでforeachループを使用してみてください。

最初に foreach 内の各アイテムのタイプを確認し、それが typeOf(B) と一致する場合は、この特定のアイテムで propertyInfo を実行して、クラス B のプロパティを取得します。これで、最初にクラス B のプロパティを設定し、次に A の 2 番目のプロパティを設定できます。

于 2013-05-03T18:11:46.180 に答える