seeseaatsea

博客园 首页 联系 订阅 管理

Inconsistent accessibility: parameter type 'Program.CommandLineInfo' is less accessible than method 'Program.DisplayHelp(Program.CommandLineInfo)'

运行包含下列代码时会出现上方所示错误:

public class Program
{
  public static void DisplayHelp(CommandLineInfo commandLine)
  {...}
  private class CommandLineInfo
  {...}
}

原因分析:方法DisplayHelp是一个public方法,可以在类的外部进行访问。但是,当在类的外部访问该方法时,需要使用CommandLineInfo类型的参数,但是该类型范围级别为private,所有,该类型只能在定义该类型的Program类中访问。这就出现了矛盾,因此会报错。

结论:如果一个方法是public的,其所有的形参都必须是public的,这样,才能实现该方法在其他类中进行访问的目标。也就是说,函数形参的访问级别要受函数的访问级别约束。

posted on 2017-01-15 00:42  seeseaatsea  阅读(176)  评论(0)    收藏  举报