《CLR via C#》读书笔记 之 类型和成员基础
第六章 类型和成员基础
2013-02-27
6.2 类型的可见性
6.3 成员的可访问性
6.6 组件、多态和版本控制
6.2 类型的可见性
返回
类有两种可见性:
(1) public,对所有程序集中的代码可见。
(2) internal,仅对定义它的程序集中的代码可见,对其它程序集中的代码不可见。
注:如果没有显式声明类的可见性,C#编译器默认设置为internal。
6.3 成员的可访问性
返回
表1 成员的可访问性
CLR术语 |
C#术语 |
描 述 |
Private |
private |
成员只能由定义该成员的类型中的方法或者该类型的所有嵌套类型中的方法访问 |
Family |
protected |
成员只能由定义该成员的类型中的方法、该类型的所有嵌套类型中的方法或者该类型的一个派生类型(与程序集无关)的方法访问 |
Family和 |
(不支持) |
成员只能由定义该成员的类型中的方法、该类型的所有嵌套类型中的方法或者同一程序集中定义的该类型的所有派生类型中的方法访问 |
Assembly |
||
Assembly |
internal |
成员只能由定义该成员的程序集中的方法访问 |
Family或 |
protected internal |
成员可以由定义该成员的类型的所有嵌套类型、所有派生类型(与程序集无关)的方法或者定义该成员的程序集中的所有方法访问 |
Assembly |
||
Public |
public |
成员可以由所有程序集的所有方法访问 |
6.6 组件、多态和版本控制
返回
表2 C#关键字及其对组件版本控制的影响
C#关键字 |
类 型 |
方法/属性/事件 |
常量/字段 |
abstract |
表示该类型不能构建实例 |
表示在构建派生类型的实例之前派生类型必须重写并实现这个成员 |
(不允许) |
virtual |
(不允许) |
表示这个成员可以由派生类型重写 |
(不允许) |
override |
(不允许) |
表示派生类型重写了基础类型的成员 |
(不允许) |
sealed |
表示该类型不能用作基础类型 |
表示这个成员不能被派生类型重写,该关键字仅用于重写了虚方法的方法 |
(不允许) |
new |
应用于嵌套类型、方法、属性、事件、常量或者字段时,表示该成员与基类中类似的成员没有关系 |
《CLR via C#》读书笔记 之 类型和成员基础相关推荐
- 《CLR via C#》读书笔记---06 类型和成员基础
核心知识归纳图 6-1 类型中成员的本质 颜色归一 编译器支持了C#提供的各种各样的类型成员,CLR对其一无所知,都是IL代码 大小不同 不同的类型成员因复杂度不同,编译器映射出的IL代码量也不尽相同 ...
- 《数字图像处理》读书笔记2:数字图像处理基础
<数字图像处理>读书笔记2:数字图像处理基础 1 人类视觉感知 1.1 眼睛构造图 1.2 基本概念: 1.2.1 亮度适应(Brightness Adaptation) 1.2.2 主观 ...
- 类型的设计--类型和成员基础(一)
6.1类型和成员基础 6.2类型的可见性 6.3成员的可见性 CLR术语 C#术语 描述 Private private 成员只有定义该成员的类型中的方法或该类型的所有嵌套类型中的方法访问 Famil ...
- 《深入浅出DPDK》读书笔记(一):基础部分知识点
本文内容为读书笔记,摘自<深入浅出DPDK>. 1.传统上,网卡驱动程序运行在Linux的内核态,以中断方式来唤醒系统处理,这和历史形成有关.早期CPU运行速度远高于外设访问,所以中断处理 ...
- 类型的设计--类型和成员基础(二)
6.6组件.多态和版本控制 C#关键字 类型 方法/属性/事件 常量/字段 abstract 表示该类型不能构建实例 表示在构建派生类型的实例之前派生类型必须重写并实现这个成员 (不允许) virtu ...
- CLR Via CSharp读书笔记(14):字符、字符串和文本处理
数字类型与字符相互转换的三种技术: Casting: 最优效率,因为编译器产生IL指令来执行转换.C#允许开发者指明checked或unchecked代码以执行转换. 使用System.Convert ...
- CLR via C# 读书笔记 1-2 创建线程的成本
在clr中创建线程的代价还是比较高的 ,他需要两个部分 内存: 线程核心对象, 存放描述线程的一些内容和上下文 . (内存消耗:700B-2500B) 线程环境,存放例如异常处理链之类. (内存消耗 ...
- CLR Via CSharp读书笔记(26) - 计算限制的异步操作
执行上下文: 执行上下文包括安全设置(压缩栈.Thread的Principal属性和Windows身份), 宿主设置(System.Threading.HostExecutionContextMana ...
- CLR Via CSharp读书笔记(29) - 混合线程同步构造
{TODO:} 转载于:https://www.cnblogs.com/thlzhf/p/3494561.html
最新文章
- Java Private、protected、public、以及无修饰符的可见范围
- 英特尔“包抄”英伟达:oneAPI对标CUDA、为《王者荣耀》云游戏提供GPU
- c#求三角形面积周长公式_此题求三角形的面积,多数学生完全没思路,解题关键是用该知识点...
- c++mfc编写实验_零基础学Windows窗口图形界面编程(不用MFC),菜鸟学完变身高手,敢与专业媲美...
- oracle rman备份整库,RMAN备份恢复整个库
- OpenCV-绘制箭头cv::arrowedLine
- 网页编码_Python获取网页编码(apparent_encoding)
- 屏幕滑动_小米滑盖式可折叠手机渲染图曝光,屏幕不仅可以折叠还可滑动
- 无需软件,笔记本自带wifi功能,几条命令轻松搞定
- To invoke and to begin invoke, that is a question.
- 第N次重装系统之win10注册表
- 菲波那切数列(剑指offer)---c语言
- 昆明发生两起公汽爆炸案2死10伤
- centos mysql 安装教程_CentOS中安装MySQL步骤详解
- TM遥感影像波段/通道bands
- 动图展示 10 大 Git 命令
- 游走上海——城隍庙-南京路步行街-外滩-外白渡桥
- mysql同时更新2个表_mysql中同时update更新多个表
- 机械制造作业考研题目答案分享——工件的定位
- 映恩生物Duality Biologics完成9000万美元B轮融资
热门文章
- 平面设计要掌握的实用技巧
- ssh suse 配置_SUSE+linux+配置节点间的SSH信任关系
- stm32官方例程在哪找_正点原子Linux第十一章模仿STM32驱动开发格式实验
- python装饰器_Python装饰器是个什么鬼?
- java returnaddress_Java虚拟机规范】Java SE 7虚拟机结构
- Docker容器之macvlan网络
- 安装好Pycharm后如何配置Python解释器简易教程
- 获取C#中方法的执行时间及其代码注入
- T1330	最少步数(#Ⅱ- 8)(广度优先搜索)
- SpringMVC:学习笔记(10)——整合Ckeditor且实现图片上传