代码之家  ›  专栏  ›  技术社区  ›  Gucci

在方法(c)中返回不同类型的列表<>

c#
  •  0
  • Gucci  · 技术社区  · 6 年前

    DataTable List<> .由于我对不同的数据库调用使用此方法,因此需要使它返回 .现在这是不可能的,因为我得到一个错误:

    Cannot convert List<T> to List<object>
    

    List<MirrorDeployments>
    

    或者:

    List<ProductionDeployments>
    

    public List<T> Execute<T>(string strSql, List<T> list)
    {
        using (OracleConnection conn = new OracleConnection(cnnStr))
        {
            using (OracleCommand objCommand = new OracleCommand(strSql, conn))
            {
                objCommand.CommandType = CommandType.Text;
                DataTable dt = new DataTable();
                OracleDataAdapter adp = new OracleDataAdapter(objCommand);
                conn.Open();
                adp.Fill(dt);
                if (dt != null)
                {
    
                    list = ConvertToList(dt, list).ToList();
                }
            }
        }
        return list;
    }
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Alessandro D'Andria    6 年前

    ConvertToList object

    public List<T> Execute<T>(string strSql)
    {
        using (OracleConnection conn = new OracleConnection(cnnStr))
        {
            using (OracleCommand objCommand = new OracleCommand(strSql, conn))
            {
                objCommand.CommandType = CommandType.Text;
                DataTable dt = new DataTable();
                OracleDataAdapter adp = new OracleDataAdapter(objCommand);
                conn.Open();
                adp.Fill(dt);
                if (dt != null)
                {
    
                    return ConvertToList(dt).Cast<T>().ToList();
                }
            }
        }
        return new List<T>();
    }
    

    list

    ConvertToList<T>