将参数传递给方法将导致“无法访问名称空间上的方法”
本文关键字:方法 空间 访问 参数传递 | 更新日期: 2023-09-27 18:11:49
我试图使用这种方法,但我对什么/如何传递参数感到困惑。
void SaveReport(Telerik.Reporting.Report report, string fileName)
{
ReportProcessor reportProcessor = new ReportProcessor();
Telerik.Reporting.InstanceReportSource instanceReportSource =
new Telerik.Reporting.InstanceReportSource();
instanceReportSource.ReportDocument = report;
RenderingResult result =
reportProcessor.RenderReport("PDF", instanceReportSource, null);
using (FileStream fs = new FileStream(fileName, FileMode.Create))
{
fs.Write(result.DocumentBytes, 0, result.DocumentBytes.Length);
}
}
我已经尝试传递我需要导出的报告的名称,它以这种方式在库中:
2日修改
protected void Button1_Click(object sender, EventArgs e)
{
string fileName = "SS";
var report = BOMreports.Report321();
SaveReport(report, fileName );
}
但是我一直在var报告上得到错误"无法访问命名空间上的方法"。我能解出来吗?
似乎您在BOMreports
类和具有相同名称的名称空间中存在冲突。由于您的名称空间与代码位于同一个程序集中,而类位于另一个程序集中,因此当您在代码中使用名称时,编译器会引用它。尝试使用完整标识符访问类:
namespace.BOMreports.Report321();
另一件事,确保Report321
是一个静态方法,返回Telerik.Reporting.Report
的对象。
添加
如果Report321
是BOMreports
中的一个类,那么您做错了。您需要做的是像下面这样实例化它:
var report = new BOMreports.Report321();