100 を超える一意の名前のプロパティと 20 を超える子クラスを持つクラスがあり、場合によってはリストになっています。以下は、私が意味することを非常に単純化した図です。
public class classA
{
public String PropertyA1 { get; set; }
public int PropertyA2{get;set;}
public List<classB> myList;
public classC myClass { get; set; }
public void SetProperty(String PropertyName)
{
// Match property name to property in this class or child class.
}
}
class classB
{
public String PropertyB1 { get; set; }
public bool PropertyB2 { get; set; }
}
class classC
{
public String PropertyC1 { get; set; }
}
可能かもしれないし不可能かもしれない2つのことをしたいと思います。最初に行う必要があるのは、子クラスおよびリスト内のクラスのパブリック プロパティを含むすべてのパブリック プロパティを反復処理し、値を変換することです。xml にシリアル化し、結果を解析することで、解析を実行できることはわかっています。クラスの機能はxmlオブジェクトを構築することであるため、xmlに変換するためのコードも用意しています。ただし、xml を介した解析は、リフレクションを介したプロパティへのアクセスよりもはるかにコストがかかるのではないかと心配しています。この方法でリフレクションを使用できますか?xml を変更するよりも高速でしょうか?
もう 1 つやりたいことは、プロパティ名をメソッドに渡す任意のプロパティにアクセスすることです。リスト内のクラスにアクセスするための別のメソッドが必要であり、リストを辞書に変換する必要がある場合があることに気付きました。問題は、これは可能で、コードは親クラスにあるだけでよいのか、それとも子クラスごとにコードを繰り返す必要があるのかということです。