1. 定义
所有类型和类型成员都具有可访问性级别,用来控制是否可以在您程序集的其他代码中或其他程序集中使用它们。 可使用访问修饰符指定声明类型或成员的可访问性。
命名空间,不可用访问修饰符
2.关键字及作用域
声明的可访问性 | 含义 |
---|---|
public | 访问不受限制。 |
protected | 访问限于包含类或派生自包含类的类型。 |
internal | 访问限于当前程序集。(Dll或Exe,控制台程序中为项目) |
protected internal | 访问限于当前程序集或派生自包含类的类型。 |
private | 访问限于包含类。 |
private protected | 访问限于包含类或当前程序集中派生自包含类的类型 |
3.语法
用来修饰类
public class Person
{
}
用来修饰类成员
public class Person
{
private decimal _money;
internal int _name { get; set; }
public void Test()
{
Console.WriteLine("Test方法的访问修饰符是Public");
}
}
4.常用类型的默认访问修饰符
未嵌套在其他类型中的顶级类型只能具有 internal
或 public
可访问性。 这些类型的默认可访问性为 internal
。
数据类型 | 默认内部成员的访问修饰符 | 允许内部成员的修饰符 |
---|---|---|
enum | public | 无 |
class | private | 所有访问修饰符 |
interface | public | 所有访问修饰符 |
struct | private | public |
internal | ||
private |
5.访问修饰符的使用限制
表达式中依赖的数据类型的访问修饰符 要大于或者等于 表达式的访问修饰符
如下案例所示,Test方法会报错,原因是返回值参数的访问修饰符小于Test方法的访问修饰符
public class A
{
enum Gender {
man,
female
}
public Gender Test()
{
return Gender.man;
}
}
网友评论