我有以下的扩展方法调用静态函数,并想使之更加通用的,所以我没有实现它在我们的域中的每个类。我如何可以解决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