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#中常用的访问修饰符,可以根据需要选择合适的修饰符来控制成员的访问权限。

相关推荐
夏霞3 小时前
c# signlar 客户端传递参数给服务端配置方法
开发语言·c#
武藤一雄4 小时前
从零构建C# OOP 知识体系
windows·microsoft·c#·.net·.netcore·oop
唐青枫4 小时前
C#.NET ConcurrentStack<T> 深入解析:无锁栈原理、LIFO 语义与使用边界
c#·.net
aini_lovee6 小时前
C# 实现邮件发送源码(支持附件)
开发语言·javascript·c#
WarrenMondeville10 小时前
1.Unity面向对象-单一职责原则
unity·设计模式·c#
寒风暖哥12 小时前
Oracle视图查询返回空数据集的分析
oracle·c#
万兴丶13 小时前
Unity用C#完成抖音小游戏接入引力引擎(Gravity Engine)完整指南,一篇文章讲清楚!
unity·c#·游戏引擎·抖音
福赖14 小时前
《C#反射机制》
开发语言·c#
向上的车轮14 小时前
熟悉C#如何转TypeScript?
开发语言·typescript·c#
我是唐青枫14 小时前
C#.NET ReaderWriterLockSlim 深入解析:读写锁原理、升级锁与使用边界
开发语言·c#·.net