在C#中,方法和属性共有default、public、private、protected、internal、protected internal六种访问权限修饰符。
1. default-默认访问权限 方法和属性前面没有权限修饰符时,表示为默认访问权限,在C#中,默认即为private,该方法或属性只在类的内部可见。
2. private-私有访问权限 方法和属性前面用private修饰时,表示为私有访问权限,该方法或属性只在类的内部可见,是能见度最低的访问修饰符。
3. public-公有访问权限 方法和属性前面用public修饰时,表示为公共访问权限,该方法或属性访问不受限制,可以类内和任何类外的代码中访问,是能见度最高的 修饰符。
4. protected-受保护的访问权限 方法和属性前面用protected修饰时,表示为受保护访问权限,该方法或属性只在类的内部可见,或者其子类中可见。
5.internal-内部访问权限 方法和属性前面用internal修饰时,表示为内部访问权限,访问仅限于程序集中。
6.protected internal-受保护或内部访问权限 方法和属性前面用protected internal修饰时,表示为内部+受保护访问权限,该方法或属性在程序集中或其子类中可以访问。
修饰符 | 自身类内部 | 子类 | 程序集 | 任何地方 |
default | √ | |||
public | √ | √ | √ | √ |
private | √ | |||
protected | √ | √ | ||
internal | √ | √ | √ | |
protected internal | √ | √ | √ |