我有以下的擴展方法調用靜態函數,並想使之更加通用的,所以我沒有實現它在我們的域中的每個類。我如何可以解決C#的限制,對通用型
public static IList<User> ToList(this DataTable table)
{
IList<User> users = new List<User>();
foreach (DataRow row in table.Rows)
users.Add(User.FromDataRow(row));
return users;
}
有什麼辦法可以解決這個令人沮喪的限制嗎?
編輯:下面的段落是胡說八道,但我是這麼的答案的一個有意義的未來的讀者:
用戶,以及我的其他類,實現了IDataModel
。 IDataModel
只需要1個方法,FromDataRow(DataRow row)
。把一個地方放入函數原型顯然沒有幫助。
您可以刪除在本例中調用ToList的第一個參數。 – JaredPar 2009-04-09 20:54:05
它應該能夠從Func中推斷出類型T. – Samuel 2009-04-09 20:57:44