【问题标题】:. NET Overload method has invalid arguments. NET 重载方法的参数无效
【发布时间】:2014-11-14 16:02:09
【问题描述】:

我正在尝试根据与下面提到的按钮相关联的 txt 框中的名称生成数据表。但是,在创建数据表的位置出现错误。

错误:

'MSafety.InsReport.ConvertToDTForInstructors(System.Collections.Generic.List)' 的最佳重载方法匹配 有一些无效的参数

代码:

    protected void btnInsName_Click(object sender, EventArgs e)
    {
        try
        {

            DataTable dt = new DataTable();

            var wingsList = context.Wings.Where(row => row.Enabled == 1).ToList();

            DataTable dtDDL = new DataTable();

            dtDDL = ConvertToDTForWings(wingsList);
            ddlWing.DataSource = dtDDL;
            ddlWing.DataBind();

            var result = context.GetActiveInstructorsByLastName(txtLastName.Text,txtFirstName.Text).ToList();

            dt =ConvertToDTForInstructors(result);

            rptInsReport.DataSource = dt;

            rptInsReport.DataBind();

            ViewState["ReportDataSource"] = dt;

            if (result.Count != 0)
            {
                PrintButtons("YES");
            }
            else
            {
                PrintButtons("NO");
            }
        }
        catch (EntityException ex)
        {
            NtfyObject.ServerError(Page);
        }

        rptInsReport.Visible = true;
    }

【问题讨论】:

    标签: c# frameworks entity overloading


    【解决方案1】:

    检查result 的类型,因为它被传递到ConvertToDTForIntructors()。我打赌ToList() 将返回一个ArrayList 或另一个非通用列表。

    从错误中可以看出,ConvertToDTForInstructors() 需要一个通用的List<>

    查看此答案:.NET Casting Generic List 了解有关转换为通用 List<> 的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-18
      • 2013-01-07
      • 2015-10-14
      • 2018-07-14
      • 1970-01-01
      相关资源
      最近更新 更多