是否可以使用聲明的雙方(輸入和輸出)上的匿名類型創建列表?是否可以使用匿名類型在聲明的兩側(輸入和輸出)創建一個List?
我願做這樣的事情:
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);
}
}
任何幫助表示讚賞:)
我不是100%確定你是什麼「問。它看起來像(除了缺少類型參數的泛型方法的聲明外),您正處於正確的軌道上。你問是否有更好的方法?或者你得到錯誤? – Tim
如果這是特定於你的'Class1'和'Class2',那麼爲什麼不只是有一個方法'公共靜態列表 getList(列表列表2){\\ ...}'? –
Corak