【发布时间】:2014-06-23 10:55:05
【问题描述】:
void SomeMethod<T>(List<T> someList)
{
if (typeof(T) == typeof(c1))
{
// etc
}
}
我试图以某种方式将其合并到以下内容中。我正在尝试使用泛型组合两个非常相似的用户控件
public partial class UcCustomers : System.Web.UI.UserControl
{
List<Customer> _list;
public void SetDataSource(List<Customer> customers){
_list = customers
}
}
public partial class UcProducts : System.Web.UI.UserControl
{
List<Products> _list;
public void SetDataSource(List<Product> products){
_list = products
}
}
问题是,我想设置该成员 _list 变量,但除非我执行以下操作,否则它不会让我这样做:
IEnumerable _list;
但是我不能将 lambda 与那种类型的变量一起使用。我的目标是拥有一个具有一些非常基本的 CRUD 功能的 GridView 用户控件。
我认为 SetDataSource 可以接受通用 List 并将其用作成员变量。
【问题讨论】:
-
合并如何?您可以为您的问题添加更多代码或上下文吗?如果您尝试组合两个控件共有的代码,您还可以考虑制作一个基本用户控件,然后让客户和产品继承自该控件。
-
您能否提供您的代码并在您的代码中指定问题以澄清问题?
-
换句话说,你想要
public void SetDataSource<T>(T dataSource)之类的东西?我认为这是相当多余的,因为它已经采用了一个通用列表......你能举一个你正在寻找的例子(甚至是伪代码)吗?
标签: c# asp.net user-controls