首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

对于可访问域的概念有不太理解的地方。该怎么处理

2012-03-23 
对于可访问域的概念有不太理解的地方。最近看《C#程序设计语言》这本书,中文翻译的,看到可访问域的部分时,有

对于可访问域的概念有不太理解的地方。
最近看《C#程序设计语言》这本书,中文翻译的,看到可访问域的部分时,有这么一段话.

-------------------------------- 书中内容 --------------------------------

在程序P里类型T中声明的嵌套成员M的可访问域定义如下(注意M自己也可能是一个类型)

如果M的声明可访问性为protected internal,假设D是P的程序文本和从在P外部声明的T继承而来的任何类型的程序文本的并集。那么M的可访问域就是T和D的可访问域的交集。

更多的内容在 http://book.51cto.com/art/200911/160233.htm

-------------------------------------------

对于红色文字的部分,我不是很理解是在什么情况,特此来请教各位能否讲解一下,最好用实例帮我说明一下(小弟愚钝,先谢过各位)。

[解决办法]

其实你就是没有理解protected internal这个访问域。。。。

它的访问域只限于包含类派生的当前程序集或类型。。。

你再看D、P、T、M之间的关系。。。
[解决办法]
internal的限制,它只能从当前的assembly(程序集)中被调用。 
默认internal是public,那么用internal标示的空间、方法和属性,相当于public定义,只不过只限于此assembly集合中被调用。 

至于protected internal,除了internal的限制外,还有protected限制,protected的限制就是只能被当前类型内部或者子类调用,加上internal就是只能被此assembly中的当前类型内部或者子类调用。

热点排行