将2种不同类型传递给单一方法

时间:2016-12-20 10:09:19

标签: c# .net generics ado.net

下面是我接受MySQL和MSSQL数据阅读器的常用方法,所以我想创建下面的方法作为泛型,并希望在Generic方法中使用它。

我有两个类来调用以下方法:

Public class mysql
{
    MySqlDataReader reader = cmd.ExecuteReader();
    Generic(reader);
}

Public class sqlserver
{
    SqlDataReader reader = devCmd.ExecuteReader();
    Generic(reader);
}


 public void Generic() // so how to specify generic parameter
        {
          //use here
          While(dataReader.Read())
          {

          }
        }

所以我想保持MySQL和MSSQL共同的Generic方法,它将接受数据读取器并将循环到它。

1 个答案:

答案 0 :(得分:4)

在这种情况下,您不需要泛型,都要实现IDataReader接口,因此请将其用作参数

public void Generic(IDataReader dataReader) // so how to specify generic parameter
{
   //use here
   while(dataReader.Read())
   {

   }
}