C#修饰符

    xiaoxiao2021-03-25  67

        结合实例,讲一下public、private、protected、internal和protected internal的作用范围。      如下代码:          1:  using System;      2:  using System.Collections.Generic;      3:  using System.Text;      4:         5:  namespace AccessModifier      6:  {      7:      public class AccessModifierClass      8:      {      9:          public string GetPublicString()     10:          {     11:              return "Public String";     12:          }     13:        14:          protected string GetProtectedString()     15:          {     16:              return "Protected String";     17:          }     18:        19:          private string GetPrivateString()     20:          {     21:              return "Private String";     22:          }     23:        24:          internal string GetInternalString()     25:          {     26:              return "Internal String";     27:          }     28:        29:          protected internal string GetProtectedInternalString()     30:          {     31:              return "Protected Internal String";     32:          }     33:        34:          void AvailableAccessModifier()     35:          {     36:              this.GetPublicString();     37:              this.GetPrivateString();     38:              this.GetInternalString();     39:              this.GetProtectedInternalString();     40:              this.GetProtectedString();     41:          }     42:      }     43:        44:      public class TestAccessModifierClass1     45:      {     46:          void AvailableAccessModifier()     47:          {     48:              AccessModifierClass item = new AccessModifierClass();     49:              item.GetPublicString();     50:              item.GetInternalString();     51:              item.GetProtectedInternalString();     52:          }     53:      }     54:        55:      public class TestAccessModifierClass2 : AccessModifierClass     56:      {     57:          void AvailableAccessModifier()     58:          {     59:              AccessModifierClass item = new AccessModifierClass();     60:              item.GetPublicString();     61:              item.GetInternalString();     62:              item.GetProtectedInternalString();     63:              base.GetProtectedString();     64:          }     65:      }     66:  }   //AccessModifierClass是我们的访问修饰符类,里面有五种访问修饰符方法,可见在AccessModifierClass类里面的AvailableAccessModifier()方法//可以访问所有的方法。      //在TestAccessModifierClass1类中的AvailableAccessModifier()方法只能访问public、Internal和Protected Internal方法。      //TestAccessModifierClass2类继承自AccessModifierClass类,所以它的AvailableAccessModifier()方法可以访问public,internal,protected和pr//otected internal方法。      //在新建一个工程,且引用AccessModifierClass类的dll,代码如下:         1:  using System;      2:  using System.Collections.Generic;      3:  using System.Text;      4:  using AccessModifier;      5:         6:  namespace AccessModifierApp      7:  {      8:      public class AccessModifierAppClass1       9:      {     10:          void AvailableAccessModifier()     11:          {     12:              AccessModifierClass item = new AccessModifierClass();     13:              item.GetPublicString();     14:          }     15:      }     16:        17:      public class AccessModifierAppClass2 : AccessModifierClass     18:      {     19:          void AvailableAccessModifier()     20:          {     21:              AccessModifierClass item = new AccessModifierClass();     22:              item.GetPublicString();     23:              base.GetProtectedString();     24:              base.GetProtectedInternalString();     25:          }     26:      }     27:  }          //AccessModifierAppClass1类的AvailableAccessModifier()方法只能访问public方法。      //AccessModifierAppClass2类继承自AccessModifierClass类,所它的AvailableAccessModifier()方法可以访问public、protected和protected inte//rnal方法。  

    转载请注明原文地址: https://ju.6miu.com/read-38842.html

    最新回复(0)