1
我想将单独的类型化数据集数据表传递给相同的方法。数据表类似,但不同。该方法在数据表上执行相同的功能。根据数据表类型的不同,本质上不需要复制方法和更改参数类型,有没有办法按照为数据表创建自定义接口的方式进行操作,这样我就可以使用接口参数的单个方法类型?C#强类型数据集 - 将不同的数据表传递给相同的方法(接口?)
我目前有:
private PassdownDataset.SalesOrdersForManagerDataTable datatable1;
private PassdownDataset.SalesOrdersDataTable datatable2;
public SomePublicMethod()
{
PopulateDepartmentName(datatable1);
PopulateDepartmentName(datatable2);
}
private void PopulateDepartmentName(PassdownDataset.SalesOrdersForManagerDataTable dt)
{
//(operations performed on datatable)
}
private void PopulateDepartmentName(PassdownDataset.SalesOrdersDataTable dt)
{
//(operations performed on datatable)
}
我想什么有:
private PassdownDataset.SalesOrdersForManagerDataTable datatable1;
private PassdownDataset.SalesOrdersDataTable datatable2;
public SomePublicMethod()
{
PopulateDepartmentName(datatable1);
PopulateDepartmentName(datatable2);
}
private void PopulateDepartmentName(
PassdownDataset.CommonInterfaceForBothDataTables dt)
{
//(operations performed on datatable)
}
您可以使用相同的DataTable(只是不同的DataRows),或者要求'DataTable'或'IEnumerable'作为输入而不是强类型的DataTables,或者您是否真的需要类型化的DataTable功能? –
你可以使用协变接口将它们一起破解。 – SLaks
唯一的问题是键入的DataRows也不同,不幸的是我需要使用键入的数据表功能 – spurro