クラスがあるとしましょう
class ComplexCls
{
public int Fld1;
public string Fld2;
//could be more fields
}
class Cls
{
public int SomeField;
}
そして、いくつかのコード
class ComplexClsList: List<ComplexCls>;
ComplexClsList myComplexList;
// fill myComplexList
// same for Cls
class ClsList : List<Cls>;
ClsList myClsList;
(疑似コード) のように、myComplexList から myClsList を設定します。
foreach Complexitem in myComplexList
{
Cls ClsItem = new Cls();
ClsItem.SomeField = ComplexItem.Fld1;
}
これを行うコードは簡単で、myClsList のメソッドに配置されます。ただし、ジェネリック ComplexCls のために、これを可能な限りジェネリックに設計したいと思います。このコードを使用する時点で正確な ComplexCls がわかっていることに注意してください。アルゴリズムのみが一般的です。
(直接)リフレクションを使用して実行できることは知っていますが、他の解決策はありますか?質問が十分に明確でない場合はお知らせください。(おそらくそうではありません)。[編集] 基本的に、必要なのはこれです: myClsList があれば、DataSource (ComplexClsList) とその DataSource (Fld1) のフィールドを指定する必要があります。