C#中 protected internal 和 internal 的区别

private<protected/internal<public  
   
  这个很明显了。  
   
  关键是protected和internal的问题。  
   
  protected限定的是只有在继承的子类中才可以访问,可以跨程序集  
   
  internal限定的是只有在同一个程序集中才可以访问,可以跨类  
   
  所以它们是有点交叉的。  
   
  当一个CLASS是ITERNAL的时候,要求其所有的成员的限定范围不能大于internal。  
   
  所以,当一个INTERNAL的CLASS写PROTECTED的时候,就需要两个限定符了:  
   
  internal   protected  
   
  这样,限定了访问范围是:本程序集、继承的子类。  
   
  因此,关系是:  
   
  private<internal   protected<internal/protected<public  
   
  internal和protected的具体范围大小就不能准确的界顶了。

posted @ 2013-03-29 21:47  阳光小屋  阅读(773)  评论(0编辑  收藏  举报