部分类和访问修饰符问题
本文关键字:问题 访问 分类 | 更新日期: 2023-09-27 18:18:43
根据MSDN文档的部分类:
所有部分必须具有相同的可访问性,例如public, private,等等。
但是如果你创建一个WindowsForm应用程序,你将在两个部分类中拥有默认的Form类。
后面的代码:
public partial class Form1 : Form
{
...
}
和设计者:
partial class Form1
{
...
}
访问修饰符不同,但是可以编译。
我错过了什么吗?
如果没有在分部类的某一部分中指定访问修饰符,它将使用与其他部分相同的访问修饰符。
c# 5规范的相关部分:§10.2.2
当部分类型声明包含可访问性规范(公共、受保护、内部和私有修饰符)时,它必须与包含可访问性规范的所有其他部分一致。如果部分类型的任何部分都不包含可访问性规范,则该类型被赋予适当的默认可访问性(§3.5.1)。
所以规范说,如果指定了,则可访问性必须与其他部分一致;换句话说,它不需要在每个部分都指定。不过,措辞可能会变得不那么模棱两可……