c#访问修饰符

C#中有多种访问修饰符,用于控制类、结构、方法、属性等成员的访问权限。

注意:只有public和internal可以修饰class

以下是常用的访问修饰符及其示例代码:

  1. public:公共访问修饰符,可以在任何地方访问。
csharp 复制代码
public class MyClass
{
    public int MyProperty { get; set; }
    
    public void MyMethod()
    {
        // Code here
    }
}
  1. private:私有访问修饰符,只能在当前类内部访问。
csharp 复制代码
public class MyClass
{
    private int myField;
    
    private void MyMethod()
    {
        // Code here
    }
}
  1. protected:受保护的访问修饰符,只能在当前类及其派生类内部访问。
csharp 复制代码
public class MyBaseClass
{
    protected int myField;
}

public class MyDerivedClass : MyBaseClass
{
    public void MyMethod()
    {
        myField = 10; // 可访问基类的受保护成员
    }
}
  1. internal:内部访问修饰符,只能在当前程序集内部访问。(通过项目引用在另一个项目中访问不了)
csharp 复制代码
internal class MyClass
{
    internal int MyProperty { get; set; }
    
    internal void MyMethod()
    {
        // Code here
    }
}
  1. protected internal:受保护的内部访问修饰符,可以在当前程序集内部及其派生类中访问。(通过项目引用,实现父类可以在项目中访问)
csharp 复制代码
public class MyBaseClass
{
    protected internal int myField;
}

public class MyDerivedClass : MyBaseClass
{
    public void MyMethod()
    {
        myField = 10; // 可访问基类的受保护内部成员
    }
}

以上是C#中常用的访问修饰符,可以根据需要选择合适的修饰符来控制成员的访问权限。

相关推荐
SkyrimCitadelValinor5 小时前
c#中让图片显示清晰
开发语言·c#
爱吃香蕉的阿豪5 小时前
SignalR 全解析:核心原理、适用场景与 Vue + .NET Core 实战
vue.js·microsoft·c#·.netcore·signalr
@蓝莓果粒茶7 小时前
LeetCode第350题_两个数组的交集II
c++·python·学习·算法·leetcode·职场和发展·c#
9 小时前
3D碰撞检测系统 基于SAT算法+Burst优化(Unity)
算法·3d·unity·c#·游戏引擎·sat
「QT(C++)开发工程师」11 小时前
Qt C++动态库SDK在Visual Studio 2022使用(C++/C#版本)
c++·qt·c#·visual studio
中游鱼19 小时前
如何序列化和反序列化动态 XmlElement ?
windows·microsoft·c#
唐青枫1 天前
C#.NET dapper 详解
c#·.net
死也不注释1 天前
【鸡零狗碎记录】
unity·c#
Maybe_ch1 天前
.NET-键控服务依赖注入
开发语言·c#·.net
★YUI★1 天前
学习游戏制作记录(剑投掷技能)7.26
学习·游戏·unity·c#