是否可以在声明的两侧(输入和输出)使用匿名类型创建列表?
我想做这样的事情:
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 项目的新列表。我的想法是在 Class1 中设置一个构造函数,进行转换工作(从 class1 到 class2)。但是可能有更好的方法来做这样的事情。这些是我的课:
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);
}
}
任何帮助表示赞赏:)