我想使用我创建的泛型类
public class ClienteleReport<TClientSource>
{
private TClientSource _clients { get; set; }
private SqlCntr _conn { get; set; }
public ClienteleReport(TClientSource clients, SqlCntr conn)
{
_clients = clients;
_conn = conn;
}
public void LoadDataForReport(string[] filter, string order = "asc", int returnTop = -1)
{
}
}
当我实例化类时,我将数据表对象和数据库连接对象作为参数传递给它。
完成后,我想使用LoadDataForReport
方法执行过滤和各种其他功能。如何处理_clients
作为数据表?如果可能,我该如何返回Datatable
对象?
调用泛型类的代码列在下面
private SqlCntr _conn;
public ClientReportForm(DataTable clients, SqlCntr conn)
{
InitializeComponent();
if (conn == null)
{
return;
}
_conn = conn;
var ClientReportObj = new ClienteleReport<DataTable>(clients, _conn);
ClientReportObj.LoadDataForReport(new[] {""}, "asc");
}
我正在编写备件管理应用程序,其中包括仓库和客户。上面的代码与报告有关。我想创建一个报告,过滤作为参数传递的原始数据。
它背后的逻辑是返回一个过滤的数据对象(99%的时间将是一个DataTable),但我想使用泛型,以便能够与其他数据源如文本文件,JSON,XML一起使用等
客户端对象是DataTable,_conn对象是数据库连接对象,它将执行插入,删除,更新功能以及我已经实现的更多功能。
我认为现在在解释我想做的事情方面会更好。如果您需要任何进一步的细节,请告诉我。
答案 0 :(得分:0)
显然,解决方案是使用如下的约束
public class ClienteleReport<TClientSource> where TClientSource : DataTable
谢谢你的时间。