本文详细分析了C#类的访问修饰符用法,分享给大家供大家参考。具体用法分析如下:
默认情况下,类声明为内部的,即只有当前工程中的代码才能访问它。可以用internal访问修饰符关键字显式指定,但这不是必须的,类在定义时默认为此类型的类。但是C# 方法默认访问级别: private。
[b]方法或者属性的修饰符的访问级别如下图[/b]:
|
访问修饰符
|
意 义
|
|
public
|
访问不受限制,可以类内和任何类外的代码中访问
|
|
protected
|
可访问域限定于类内或从该类派生的类内
|
|
internal
|
可访问域限定于类所在的程序集内
|
|
protected internal
|
protected或者internal,即可访问域限定于类所在的程序或那些由它所属的类派生的类内
|
|
private
|
可访问域限定于它所属的类内
|
[b]类定义中可以使用的访问修饰符组合[/b]
none or internal 类只能在当前工程中访问
public 类可以在任何地方访问
abstract or internal abstract 类只能在当前工程中访问,不能实例化,只能继承
public abstract 类可以在任何地方访问,不能实例化,只能继承
sealed or internal sealed 类只能在当前工程中访问,不能派生,只能实例化
public sealed 类可以在任何地方访问,不能派生,只能实例化
[b]下面介绍一下C#中方法、类等的默认访问修饰符[/b]
[b]接口(interface)[/b]
接口成员访问修饰符默认为public,且不能显示使用访问修饰符。
[b]类(class)[/b]
构造函数默认为public访问修饰符。
析构函数不能显示使用访问修饰符且默认为private访问修饰符。
类的成员默认访问修饰符为private;
[b]枚举(enum)[/b]
枚举类型成员默认为public访问修饰符,且不能显示使用修饰符。
[b]结构(struct)[/b]
结构成员默认为private修饰符。
结构成员无法声明为protected成员,因为结构不支持继承。
[b]嵌套类型[/b]
嵌套类型的默认访问修饰符为private。 和类,结构的成员默认访问类型一致
希望本文所述对大家的C#程序设计有所帮助。