



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
笨人晚宴 杀人宝盒 劫匪 C#成员可访问性(可访问性不一致)(2010-01-13 11:50:04) 转载标签: c类成员可访问性it分类: CSharp 一、已声明可访问性C#成员已声明可访问性可以是下列的:1.public:访问不受限制;2.protected:访问仅限于包含该成员类或从包含该成员类所派生类型;3.ernal:访问仅限于此;4.protectedernal:访问仅限于此或包含该成员类所派生类型;5.private:访问仅限于包含该成员类型。二、默认已声明可访问性1.命名空间隐式地具有public已声明可访问性在命名空间声明中不允许使用访问修饰符;2.编辑单元或命名空间中声明类型可以具有public或ernal已声明可访问性其默认已声明可访问性为ernal;3.类成员可以具有5种已声明可访问性任意种其默认已声明可访问性为private(注意:生命为类成员类型可以具有五种已声明可访问性中任意种但是声明为命名空间成员类型只能具有public或ernal已声明可访问性);4.结构成员可以具有publicernal或private等已声明可访问性其默认已声明可访问性为private这是结构是隐式密封;5.接口成员隐式地具有public已声明可访问性在接口成员声明中不允许使用访问修饰符;6.枚举成员隐式地具有public已声明可访问性在枚举成员声明中不允许使用访问修饰符。三、可访问性约束1.类类型直接基类必须至少和该类类型本身具有相同可访问性;2.借口类型显示基接口必须至少和该接口类型本身具有相同可访问性;3.委托类型返回类型和参数类型必须至少和该委托类型本身具有相同可访问性;4.常量类型必须至少和该常量本身具有相同可访问性;5.域类型必须至少和该域本身具有相同可访问性;6.思路方法返回类型和参数类型必须至少和该思路方法本身具有相同可访问性;7.属性类型必须至少和该属性本身具有相同可访问性;8.事件类型必须至少和该事件本身具有相同可访问性;9.索引器类型和参数类型必须和该索引器本身具有相同可访问性;10.运算符返回类型和参数类型必须至少和该运算符本身具有相同可访问性;11.市里构造参数类型必须至少和该例子构造本身具有相同可访问性 Page例:B类将引起个编译时A并不至少和B具有相同可访问性ApublicB:A例:B中思路方法H将引起个编译时返回类型A并不至少和该思路方法具有相同可访问性ApublicB AF ernalAG publicAH四、可访问域1.预定义类型(例如object、或double)可访问域是无限;2.在P中声明顶级类型(不是在某个类型中声明成员)T可访问域是指: 如果T已声明可访问性为public则T可访问域将是P以及引用P任何文本; 如果T已声明可访问性为ernal则T可访问域将是P文本 可见定及类型可访问域始终至少是在其中声明该类型文本3.在P类型T中声明嵌套成员(在其他类型中声明成员)M其可访问域是如下所指的(M本身也可能是个类型): 如果M已声明可访问性为public则M可访问域将是T可访问域; 如果M已声明可访问性为protectedernal设D表示P文本和所有从T派生类型(这些类型是在P外部声明)文本并集,则M可访问域将是T和D可访问域交集; 如果M已声明可访问性为protected设D表示T文本和所有从T派生类型文本并集则M可访问域将是T和D可访问域交集; 如果M已声明可访问性为ernal则M可访问域将是T可访问域和P文本交集; 如果M已声明可访问性为private则M可访问域将是T文本 可见嵌套成员可访问域总是至少为声明该成员类型文本并且绝不会大于声明该成员类型可访问域例public A publicX; ernalY; privateZ;ernal B publicX; ernalY; Page privateZ; public C publicX; ernalY; privateZ; private D publicX; ernalY; privateZ; 在这个例子中类和成员具有以下可访问域: A和A.X可访问域无限制; A.Y、B、B.X、B.Y、B.C、B.C.X和B.C.Y可访问域是包含这段代码文本; A.Z可访问域是A文本; B.Z和B.D可访问域是B文本包括B.C和B.D文本; B.C.Z可访问域是B.C文本; B.D.X和B.D.Y可访问域是B文本包括B.C和B.D文本; B.D.Z可访问域是B.D文本例:基类所有成员(例子构造、析构和静态构造除外)都由派生类型继承这些成员甚至包括基类私有成员然而私有成员可访问域只包括声明该成员类型文本在下面举例中类B继承了类A私有成员x:A x;/类成员默认可访问性为private voidF(Bb) Pag
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论