为什么我们不能在C#接口中指定访问修饰符?
接口方法与外界联系在一起,后者指定实现此接口的类执行某些操作。
接口成员始终是公共的,因为接口的目的是使其他类型能够访问类或结构。
接口可以具有保护或内部等访问说明符。因此,将“外部世界”限制为“整个外部世界”的子集。
示例
interface IInterface{ void Save(); } class Program{ static void Main(){ Console.ReadLine(); } }
上面的示例将正确编译,没有任何错误
在C#8之前,默认情况下,接口成员是公共的。实际上,如果将访问修饰符放在接口成员(包括public)上,则会生成编译器错误。
interface IInterface{ Public void Save(); } class Program{ static void Main(){ Console.ReadLine(); } }
上面的代码在c#7.0中引发了编译时错误,但是在c#8.0中它没有任何错误地进行了编译