C#中有多种访问修饰符,用于控制类、结构、方法、属性等成员的访问权限。
注意:只有public和internal可以修饰class
以下是常用的访问修饰符及其示例代码:
- public:公共访问修饰符,可以在任何地方访问。
csharp
public class MyClass
{
public int MyProperty { get; set; }
public void MyMethod()
{
// Code here
}
}
- private:私有访问修饰符,只能在当前类内部访问。
csharp
public class MyClass
{
private int myField;
private void MyMethod()
{
// Code here
}
}
- protected:受保护的访问修饰符,只能在当前类及其派生类内部访问。
csharp
public class MyBaseClass
{
protected int myField;
}
public class MyDerivedClass : MyBaseClass
{
public void MyMethod()
{
myField = 10; // 可访问基类的受保护成员
}
}
- internal:内部访问修饰符,只能在当前程序集内部访问。(通过项目引用在另一个项目中访问不了)
csharp
internal class MyClass
{
internal int MyProperty { get; set; }
internal void MyMethod()
{
// Code here
}
}
- protected internal:受保护的内部访问修饰符,可以在当前程序集内部及其派生类中访问。(通过项目引用,实现父类可以在项目中访问)
csharp
public class MyBaseClass
{
protected internal int myField;
}
public class MyDerivedClass : MyBaseClass
{
public void MyMethod()
{
myField = 10; // 可访问基类的受保护内部成员
}
}
以上是C#中常用的访问修饰符,可以根据需要选择合适的修饰符来控制成员的访问权限。