我有一个List对象,我需要能够动态交换对象类型。基本上我有:
List<DataBaseItems> items = new List<DataBaseItems>();
然后,我将使用LINQ对该列表执行一些过滤,然后绑定到telerik网格。我需要根据我得到的id换出对象。我的目标是构建一个自定义控件,可以使用它的过滤器按钮来处理报告数据来自上面列表的多个报告。报告A可以使用上面的列表,报告B需要一个完全不同的对象,但对它有相同的操作。
答案 0 :(得分:1)
创建一个接口并将其实现到您实现的任何对象中。
答案 1 :(得分:0)
public interface ICustomListFilter<T>
where T:class
{
public void FilterAndBindMyList(List<T> myList);
}
public class ReportOneFilter:ICustomListFilter<MyFirstType>
{
public void FilterAndBindMyList(List<MyFirstType> items)
{
// your filtering and binding code goes here, such as items.Where(i => ...
}
}
public class ReportTwoFilter:ICustomListFilter<MySecondType>
{
public void FilterAndBindMyList(List<MySecondType> items)
{
// your another filtering and binding algorithm goes here, such as items.Select(i => ...
}
}