我使用泛型Java代碼轉換爲C#和具有的那種容器麻煩:使用泛型在C#中的擴展功能
public static class MyExtensions
{
public static void add(this List<object> list, object obj)
{
list.Add(obj);
}
public static void add(this List<string> list, string s)
{
list.Add(s);
}
}
看來,仿製藥在比較參數丟失,這兩種方法相撞。我希望能夠以這種方式使用泛型。是否有可能支持所有列表操作:單一的:
public static void add(this List<object> list, object obj)
{
list.Add(obj);
}
例如?
摘要所有響應都有相同的解決方案。 列表可以抽象爲ICollection。總體而言,這可能不是生產代碼的好主意。
你是什麼意思的「兩種方法相撞」?顯示的類編譯沒有錯誤。 – 2009-10-13 19:16:21
當我調用形式爲myList.add(foo)的方法時,它會報告比找不到正確的方法 - 它有錯誤的參數 – 2009-10-13 19:31:01
請確保通過「using MyExtensionsNamespace」將此類的名稱空間包含在文件中。 – 2009-10-13 19:39:52