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

相关推荐
阿蒙Amon3 小时前
C#每日面试题-Thread.Sleep和Task.Delay的区别
java·数据库·c#
cfqq19894 小时前
Settings,变量保存
开发语言·c#
云草桑5 小时前
.net AI开发04 第八章 引入RAG知识库与文档管理核心能力及事件总线
数据库·人工智能·microsoft·c#·asp.net·.net·rag
曹牧7 小时前
C#:窗体构造函数无法引用窗体控件
开发语言·c#
iAkuya7 小时前
(leetcode)力扣100 54实现Trie树
算法·leetcode·c#
xb11327 小时前
C#使用Cancellation来取消异步任务
开发语言·c#
m0_748229997 小时前
C与C#:编程语言的核心差异解析
c语言·开发语言·c#
m0_748229998 小时前
Laravel7.x核心特性全解析
c语言·数据库·c#
阿蒙Amon8 小时前
C#每日面试题-Task和Thread的区别
java·面试·c#
ytttr8739 小时前
C#实现海康威视智能车牌识别
开发语言·c#