Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将参数传递给方法给出;无法访问命名空间上的方法";_C# - Fatal编程技术网

C# 将参数传递给方法给出;无法访问命名空间上的方法";

C# 将参数传递给方法给出;无法访问命名空间上的方法";,c#,C#,我正在尝试使用此方法,但我不知道如何将参数传递给它 void SaveReport(Telerik.Reporting.Report report, string fileName) { ReportProcessor reportProcessor = new ReportProcessor(); Telerik.Reporting.InstanceReportSource instanceReportSource = new Telerik.Reportin

我正在尝试使用此方法,但我不知道如何将参数传递给它

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);
    }
}
我已尝试通过以下方式传递我需要导出的报告的名称,该名称位于库中:

第二次修改

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();

什么是BOMReports?类还是命名空间?它是一个包含多个报表的类。为什么
SaveReport
的参数顺序错误?在方法签名中,它是
report,fileName
,但是当调用它时,您传递的是
fileName,report
。您确定从那一行得到了错误吗?尝试
var report=BOMReports.Report321();保存报告(文件名,报告)在两行上。查看哪一行出现错误。Show
BOMreports
code。我调查了您的提示,但除非我在您的回答中遗漏了什么,否则此类DLL中没有冲突。名称空间是BOMreports,该名称空间中的文件名是一个类“Report321”,在其他几个上下文中运行良好。@Nullbyte所以Report321不是一个方法?不,BOMreports是一个类库,包含多个类,Report321就是其中之一。您是一个明星!这就是问题所在。有了你最新的答案,问题就解决了。@Nullbyte我不是明星:p我想你需要一些咖啡。仅此而已:D