一、访问修饰符 (添加到类、结构或者成员声明的关键词,控制访问权限)
4个访问修饰符
1.Private:私有的,是一个成员访问修饰符。只有在声明它们的类和结构中才可以访问。
注:类或者成员默认的访问权限。
2.Public:公有的,是类型和类型成员的访问修饰符。对其访问没有限制。
3.Internal:内部的,是类型和类型成员的访问修饰符。同一个程序集中的所有类都可以访问
4. Protected:受保护的,是一个成员访问修饰符。只能在它的类和它的派生类中访问。
5.protected internal:访问级别为 internal 或 protected。即,“同一个程序集中的所有类,以及所有程序集中的子类都可以访问。
注意点:
一个成员或类型只能有一个访问修饰符,使用 protected internal组合时除外。
如果在成员声明中未指定访问修饰符,则使用默认的可访问性
类型成员默认的可访问性
属于 | 默认的成员可访问性 | 该成员允许的声明的可访问性 |
enum | public | 无 |
class | private | public protected internal private protected internal |
interface | public | 无 |
struct | private | public internal private |
二、声明修饰符(添加到类、结构或者成员声明的关键词,控制封装实现结构)
8个声明修饰符
[1] Partial:在整个同一程序集中定义分部类和结构。
[2] Static: 声明属于类型本身而不是属于特定对象的成员。
[3] Abstract:抽象类,只能是其他类的基类。类中的方法只声明不实现,方法的实现在他的派生类中完成。
[4] Sealed:指定类不能被继承。
[5] Virtual:用于修饰方法、属性、索引器或事件声明,并且允许在派生类中重写这些对象
[6] Override:提供从基类继承的成员的新实现
[7] New:作修饰符,隐藏从基类成员继承的成员,在不使用 new 修饰符的情况下隐藏成员是允许的,但会生成警告。作运算符,用于创建对象和调用构造函数。
[8] Extern:用于声明在外部实现的方法。 extern 修饰符的常见用法是在使用 Interop 服务调入非托管代码时与 DllImport 特性一起使用。 在这种情况下,还必须将方法声明为 static
更多: