我發現我需要在許多類中編寫相同的代碼。代碼與類型之間的轉換有關。由於我不熟悉的仿製藥,會有人建議如何以下步驟轉換到使用泛型:你將如何轉換列表<Object> - > ObjectList和ObjectList - >列表(對象)使用泛型
public class WidgetList : List<Widget> { }
public class Widget
{
public int Id { get; set; }
public string Name { get; set; }
public Widget() { }
public Widget(int Id, string Name)
{
this.Id = Id;
this.Name = Name;
}
}
public class WidgetManager
{
public static List<Widget> ToListType(WidgetList list)
{
return list.ToList<Widget>();
}
public static WidgetList ToTypeList(List<Widget> list)
{
WidgetList typeList = new WidgetList();
foreach (Widget item in list)
{
typeList.Add(w);
}
return typeList;
}
}
也許我誤解你的意圖,但什麼是一個巡航能力型的widgetList的地步? WidgetList是List的空白子類,因此它唯一的真正目的是給列表指定一個特定的名稱。 –
Stephan
2010-10-19 20:00:31
我不確定你爲什麼要分類一個通用的'List',如果你沒有添加功能。你有分類的理由嗎?你爲什麼不能在'List'上操作? –
linuxuser27
2010-10-19 20:00:44
這是一種模式...幫助我們成爲懶惰的編碼器。我們沒有向WidgetList添加任何屬性。它只是一個集合。我們的大部分代碼都使用該列表。我們需要列表的唯一時間是使用linq過濾列表中包含的數據。這就是爲什麼我想編寫通用轉換方法。 –
sme
2010-10-19 20:33:18