宣言の両側 (入力と出力) で匿名型を使用してリストを作成することは可能ですか?
私はこのようなことをしたいと思います:
List<Class1> list = getList<Class1>(List<Class2> list2);
...次のように宣言されたメソッドを使用します。
public static List<T1> getList<T1>(List<T2> list2)
{
List<T1> list = new List<T1>();
foreach (var item in list2) {
list.Add(new T1(item));
}
return list;
}
基本的に、 class2 項目を含むリストを class1 項目を含む新しいリストに変換したいだけです。私のアイデアは、クラス 1 にコンストラクターをセットアップし、(クラス 1 からクラス 2 への) 変換ジョブを実行することでした。しかし、そのようなことを行うより良い方法があるかもしれません。これらは私のクラスです:
public class Class2
{
string prop1 { get; set; }
string prop2 { get; set; }
}
public class Class1
{
string member1 { get; set; }
string member2 { get; set; }
//constructor: 'converts' class1 in class2
public Class1(Class2 class2)
{
this.member1 = Util.getThisAndThat(class2.prop1);
this.member2 = Util.doBunchOfStuff(class2.prop2);
}
}
どんな助けでも感謝します:)