首页 > 其他 > 详细

在C#中internal关键字是什么意思?和protected internal区别

时间:2014-03-20 06:00:42      阅读:308      评论:0      收藏:0      [点我收藏+]
我来补充一下,对于一些大型的项目,通常由很多个DLL文件组成,引用了这些DLL,就能访问DLL里面的类和类里面的方法。
比如,你写了一个记录日志的DLL,任何项目只要引用此DLL就能实现记录日志的功能,这个DLL文件的程序就是一个程序集
如果你记录日志的程序集是这么定义的
namespace LogerHelper
{
internal class aa
{
public void bb()
{
return "";
}
}

public class Write
{
public void WriteIn(string content)
{
class x = new aa();
x.bb();
}
}
}

当另一个项目引用了此DLL
它可以这么访问
LogerHelper.Write x = new LogerHelper.Write();
x.WriteIn("");

但不可以这么访问
LogerHelper.aa x = new LogerHelper.aa();
x.bb();

这就叫,只能在程序集中访问



protected internal是protected or internal的意思。所以应该是:可由任何嵌套类型、任何派生类型(不管什么程序集)或定义程序集(成员所在的程序集)中的任何方法访问。

所谓同一程序集,最简单的理解就是代码处于编译后的同一个dll或exe中,跟project, namespace没有直接关系。

在C#中internal关键字是什么意思?和protected internal区别,布布扣,bubuko.com

在C#中internal关键字是什么意思?和protected internal区别

原文:http://www.cnblogs.com/wanshutao/p/3611923.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!