C# 访问修饰符和声明修饰符

本文详细介绍了C#中的访问修饰符,包括public、private、internal、protected及其组合使用,以及默认访问修饰符。此外,还讨论了声明修饰符,如partial、static、abstract、sealed、virtual、override、new和extern的作用和应用场景,帮助理解C#中的类和成员声明方式。
摘要由CSDN通过智能技术生成

一、访问修饰符的基本说明

1.public: 公有的,是类和类成员的访问修饰符,访问不受限制

2.private: 私有的,是一个成员访问修饰符,不能修饰类,只有在声明它的类和结构内部可以访问

3.internal: 内部的,是类和类成员的访问修饰符,同一个程序集中的所有类都可以访问,可访问性低于public

4.protected: 受保护的,是一个成员访问修饰符,只能在它的类和派生类中访问

5.protected internal: 访问限于当前程序集或派生类

6.private protected: 访问限于当前程序集中该类的派生类或该类内部

privateprotectedprotected internalprivate protected不能修饰类

什么是程序集呢?

简而言之,一个程序集就是一个项目,一个命名空间,一个dll文件

注意点:

如果在成员声明中未指定访问修饰符,则使用默认的访问修饰符

类/枚举/接口/结构体默认访问修饰符是internal,仅限该程序集内部访问

默认的成员可访问性 该成员允许声明的可访问性
class private public
protected
internal
private
protected internal
struct private public
internal
private
interface public
enum public

Example:

namespace TestModifier
{
   
    public class Class1
    {
   
        //访问不受限制
        public string namePublic = null;
        //当前程序集
        internal string nameInternal = null;
        //只能在类内部访问
        private string namePrivate = null;
        //只能在该类及其派生类内部使用
        protected string nameProtected = null;
        //当前程序集及派生类
        protected internal string nameProtectedInternal = null;
        //C# 7.2 该类及其派生类内部使用
        private protected string namePrivateProtected = null;
    }

    class Class2 : Class1
    {
   
        private string name1;
        private string name2;
        private string name3;
        private string name4;
        private string name5;
        public void Method1()
        {
   
            name1 = new Class1().namePublic;
            name2 = new Class1().nameInternal;
            name3 = new Class1().nameProtectedInternal;
            //派生类
            name4 = base.nameProtected;
            //派生类
            name5 = base.namePrivateProtected;
        }
    }
}

二、声明修饰符

1.partical: 在整个同一程序集中定义分部类和分部方法。在处理大型项目或自动生成的代码(如 Windows 窗体设计器提供的代码)时,在多个文件间拆分类、结构或接口类型可能会非常有用。分部类型可以包含分部方法。

分部类:

  • 处理大型项目时,使一个类分布于多个独立文件中可以让多位程序员同时对该类进行处理

  • 当使用自动生成的源文件时,你可以添加代码而不需要重新创建源文件。 Visual Studio 在创建Windows 窗
    体、Web 服务包装器代码等时会使用这种方法。 你可以创建使用这些类的代码,这样就不需要修改由
    Visual Studio生成的文件

  • 若要拆分类定义,请使用 partial 关键字修饰符

class Program
{
   
    /// <summary>
    /// 声明修饰符
    /// partical: 分部类和分部方法
    /// </summary>
    /// <param name="args"></param>
    static void Main(string[] args
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值