C# 错误:";以下方法或属性之间的调用不明确";?
运行项目时,将显示以下错误消息: 以下方法或属性之间的调用不明确:“Microsoft.Reporting.WinForms.ReportDataSource.ReportDataSource(string,System.Collections.IEnumerable)”和“Microsoft.Reporting.WinForms.ReportDataSource.ReportDataSource(string,System.Data.DataTable)” 为什么?C# 错误:";以下方法或属性之间的调用不明确";?,c#,report,reporting,C#,Report,Reporting,运行项目时,将显示以下错误消息: 以下方法或属性之间的调用不明确:“Microsoft.Reporting.WinForms.ReportDataSource.ReportDataSource(string,System.Collections.IEnumerable)”和“Microsoft.Reporting.WinForms.ReportDataSource.ReportDataSource(string,System.Data.DataTable)” 为什么? 从错误消息中可以明显看出,
从错误消息中可以明显看出,类型
dsFirstReport.dtLoaiHangDataTable
继承了DataTable
类型并实现了IEnumerable
您可以通过将参数强制转换为一个或另一个来解决编译器的歧义。例如:
reportViewer1.LocalReport.DataSources.Add(
new ReportDataSource("dsFirstReport_DataSet1", (IEnumerable)dt));
dsFirstReport.dtLoaiHangDataTable
实现了哪些类型?dsFirstReport.dtLoaiHangDataTable是否继承了DataTable
并实现了IEnumerable
?如果是这样,这就是为什么它不知道选择哪个。dsFirstReport是表LoaiHang的数据集您可以发布dsFirstReportClass的实现吗?
reportViewer1.LocalReport.DataSources.Add(
new ReportDataSource("dsFirstReport_DataSet1", (IEnumerable)dt));