接口方法的访问修饰符是什么?应该是公共或受保护的,因为在实现它们时可以访问它们(这很有意义)。它还应该是抽象的,因为它们没有实现。但最近我读了一本名为CLR Via C#的书,其中关于接口的章节如下:
当您将接口成员标记为虚拟时,编译器会抱怨访问修饰符无效。我的意思是除了编译器赋予给它们的默认值之外,在接口中不需要任何访问修饰符才是有效的,有人能为我澄清一下吗?CLR要求将接口方法标记为虚拟的。如果您在源代码中没有明确将该方法标记为虚拟的,则编译器会将该方法标记为虚拟的和密封的。