在C#中internal关键字是什么意思?

这个回答的很不错 :http://zhidao.baidu.com/link?url=BGmYomZnf_-94L4uPXa-gzYMssL5HGmZyk_fFG7x4i4z_vL8qN3o7CrJgleMbHDTRhSfdCuEMGjrSWLeP5RV2_

 

我来补充一下,对于一些大型的项目,通常由很多个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();

这就叫,只能在程序集中访问
posted @ 2015-08-05 13:56  dapeng888  阅读(482)  评论(0编辑  收藏  举报