根据MSDN Documentation部分类:
所有部分必须具有相同的辅助功能,例如公开,私人等。
但是如果你创建一个WindowsForm应用程序,你将在两个部分类中使用默认的Form类。
背后的代码:
public partial class Form1 : Form
{
...
}
和设计师:
partial class Form1
{
...
}
访问修饰符不同,但会编译。
我在这里错过了什么吗?
答案 0 :(得分:17)
如果未在分部类的一部分中指定访问修饰符,则它使用与其他部分相同的访问修饰符。
C#5规范的相关部分:§10.2.2
当部分类型声明包含可访问性规范(public,protected,internal和private修饰符)时,它必须与包含可访问性规范的所有其他部分一致。如果部分类型的任何部分都不包含可访问性规范,则为该类型提供适当的默认可访问性(第3.5.1节)。
因此规范说,如果指定了,则可访问性必须与其他部分一致;换句话说,它不必在每个部分中指定。尽管如此,措辞可能会变得不那么模糊......