在C#中,访问权限用于控制类、成员和其他程序实体的可访问性。C#提供了一些关键字来定义不同级别的访问权限,以确保适当的封装和信息隐藏。
以下是C#中的四个访问权限级别,按照从最高到最低的顺序排列:
private
:私有访问权限是最严格的权限级别。私有成员只能在定义它们的类内部访问。私有成员对于类的外部代码是不可见的。
class MyClass
{private int privateField; // 私有字段private void PrivateMethod() // 私有方法{// 私有方法的实现}
}
protected
:受保护访问权限允许派生类访问基类中的成员。除了派生类,其他代码不能直接访问受保护成员。
class MyBaseClass
{protected int protectedField; // 受保护字段protected void ProtectedMethod() // 受保护方法{// 受保护方法的实现}
}class MyDerivedClass : MyBaseClass
{void SomeMethod(){protectedField = 10; // 在派生类中可以访问受保护字段ProtectedMethod(); // 在派生类中可以调用受保护方法}
}
internal
:内部访问权限限制了成员的访问范围为当前程序集。程序集内的其他类可以访问内部成员,但是来自不同程序集的类不能直接访问。
class MyClass
{internal int internalField; // 内部字段internal void InternalMethod() // 内部方法{// 内部方法的实现}
}
public
:公共访问权限是最宽松的权限级别。公共成员可以从任何位置访问,包括其他程序集。
public class MyClass
{public int publicField; // 公共字段public void PublicMethod() // 公共方法{// 公共方法的实现}
}
这些访问权限级别可以应用于类、结构、接口、成员变量、方法等。通过适当地选择访问权限,我们可以控制代码中的信息隐藏和封装,并确保只有必要的部分对外可见。