2021-06-10

  • 时间:
  • 浏览:
  • 来源:互联网

C# 访问修饰符

  • 前言
    • 一、访问修饰符
    • 二.总结


前言

在学习C#过程中,一开始为了方便大概率只会使用Public,但访问修饰符远不止这些,下面是学习笔记的一些总结,如有错误,还望指导。


一、访问修饰符

与Java访问修饰符private,default,protected,public 不同;

C#有public、protected、internal、private、protected internal、private protected (C#7.2以后可用)六种。

一些方法和属性可供类或结构外部的代码(称为“客户端代码”)调用或访问。 另一些方法和属性只能在类或结构本身中使用。 请务必限制代码的可访问性,仅供预期的客户端代码进行访问。

代码如下(示例):

namespace AccessModifier
   {
       public class AccessModifierClass
       {
           public string GetPublicString() 
            //公有访问。不受任何限制。
           {
               return "Public String";
           }
           protected string GetProtectedString() 
           //保护访问。只限于本类和子类访问,实例不能访问。
           {
               return "Protected String";
           }
           private string GetPrivateString()
           //私有访问。只限于本类成员访问,子类,实例都不能访问。
           {
               return "Private String";
           }
           internal string GetInternalString()
           //内部访问。只限于本项目内访问,其他不能访问。
           {
               return "Internal String";
           }
           protected internal string GetProtectedInternalString()
           {
           //内部保护访问。只限于本项目或是子类访问,其他不能访问
               return "Protected Internal String";
           }
           void AvailableAccessModifier()
           {
               this.GetPublicString();
               this.GetPrivateString();
               this.GetInternalString();
               this.GetProtectedInternalString();
               this.GetProtectedString();
           }
       }
       public class TestAccessModifierClass1
       {
           void AvailableAccessModifier()
           {
               AccessModifierClass item = new AccessModifierClass();
               item.GetPublicString();
               item.GetInternalString();
               item.GetProtectedInternalString();
           }
       }
       public class TestAccessModifierClass2 : AccessModifierClass
       {
           void AvailableAccessModifier()
           {
               AccessModifierClass item = new AccessModifierClass();//子类
               item.GetPublicString();
               item.GetInternalString();
               item.GetProtectedInternalString();
               base.GetProtectedString();
           }
       }
   }

二.总结

C# 方法默认访问级别 : private
C# 类默认访问级别 : internal
在这里插入图片描述
C#成员类型的可修饰及默认修饰符如下表:成员类型	  默认修饰符	    默认修饰符enum	      public	             noneclass	      private	         public、protected、internal、private、protected internalinterface	  public	             nonestruct	      private	         public、internal、private

本文链接http://metronic.net.cn/metronic/show-16431.html