Visual Studio c# 错误 CS7036 方法调用

Visual Studio c# Error CS7036 Method Call

提问人:software_dev_1 提问时间:5/23/2022 最后编辑:software_dev_1 更新时间:5/23/2022 访问量:149

问:

我在 Visual Studio 中不断收到 CS7036 错误,我不知道如何纠正它。错误代码 CS7306 出现在 eROISImport.GenerateRport() 中;叫。我不确定它需要什么参数,因为在顶部的 GenerateReport 方法创建中定义了参数。我尝试在 eROISIMPORT.GenerateReport 中定义参数,但是当我使用 totalApplied 或 GenerateReport 方法中定义的任何其他参数时,它不被接受。我遇到的另一个问题是在 GenerateReport 方法中,我得到了 CS0051 不一致的可访问性参数类型列表。当我将 private static 更改为 public void 时,发生了此错误。我很感激这方面的任何帮助。

 public void GenerateReport(int totalUnknown, int totalApplied, int totalAccepted, int totalRejected, int totalDropped, int totalTesting, int totalNonCompliance, int totalNoncompliance8453, int totalNoncomplianceFieldMonitoring, int totalRevoked, List<DataInput>dataInputList)   

    public static Main(string[] args)
    {
        EROIRSImport eROIRSImport = new EROIRSImport();


        eROIRSImport.ImportFile(args);
        eROIRSImport.GenerateReport();
C# 方法 参数 调用

评论

2赞 gunr2171 5/23/2022
您发布的代码似乎超出了您的问题的合理范围。请阅读 如何提问 和 如何制作最小可重现的例子;提供 MRE 有助于用户回答您的问题,并帮助未来的用户与您的问题相关。
1赞 gunr2171 5/23/2022
如果您发布的方法确实是您尝试调用的方法,则该方法需要 11 个参数,并且您将其传递为零。GenerateReport
0赞 software_dev_1 5/23/2022
@gunr2171,我将代码编辑为实际导致错误的原因。在 eROISIMPORT.Generate 调用中,我尝试输入 int 和参数名称,但随后我收到 not defined in scope 错误消息。我应该在该方法调用中放入什么来清除错误?

答:

1赞 David 5/23/2022 #1

我得到 CS0051 不一致的可访问性参数类型。
当我更改为
List<DataInput>private staticpublic void

这意味着不是.DataInputpublic

方法不能公开(作为参数或返回类型)比方法本身更难访问的类型,因为如果使用代码不知道它公开的类型,他们将无法使用该方法。

要么更改为 be,要么更改方法的可访问性以匹配 的可访问性。(? ?)DataInputpublicDataInputinternalprivate

评论

0赞 software_dev_1 5/23/2022
请原谅这个问题,但现在该方法已设置为公共,这难道不应该解决可访问性问题吗?
0赞 David 5/23/2022
@software_dev_1:根据问题中的描述,这正是导致可访问性问题的原因。如果某个方法是,则该方法公开的任何类型也需要是 。publicpublic