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的,这样,才能实现该方法在其他类中进行访问的目标。也就是说,函数形参的访问级别要受函数的访问级别约束。