CTS(common type system)
通用类型系统规定,一个类型可以包含零个或者多个成员,如下:
 
字段(Field):
作为对象状态一部分的数据变量。字段根据名称和类型来区分
 
方法(Method):
针对对象执行操作的函数,通常会改变对象状态。方法有一个名称,一个签名以及一个或多个修饰符。签名指定参数数量(及其顺序);参数类型:方法是否有返回值。如果有返回值,还要指定返回值类型
 
属性(prolerty):
对于调用者,属性看起来像是字段。但是对于类型的实现者,属性看起来是一个方法(或是两个方法)。属性允许在访问值之前校验输入参数和对象状态,以及或者仅在必要时才计算某个值。属性还允许类型的用户采用简化语法。最后,属性允许创建只读或只写的字段
 
事件:
事件在对象以及其他相关对象之间实现了通知机制。例如,利用按钮提供的一个事件,可在按钮被点击之后通知其他对象
 
同时CTS还指定了可见性规则以及类型成员的访问规则,例如如果将类型标记为public,任何程序集都能看见并访问该类型。但是如果标记为assembly(C#中使用internal修饰),只有同一个程序集中的代码才能看见并访问该类型,所以,利用CTS制定的规则,程序集为一个类型建立了可视边界,CLR也强制贯彻了这些规则:
private:
成员只能由同一个类型中的其他成员访问;
protected:
成员可由派生类访问,不管那些类型是否在同一程序集中。
internal:
成员可由同一个程序集中的任何代码访问
protected internal:
成员可由任何程序集中的派生类型访问,成员也可由同一程序集中的任何类型访问
public
成员可由任何程序集中的任何代码访问

CLR via 随书笔记的更多相关文章

  1. CLR via C#学习笔记----知识总概括

    第1章 CLR的执行模型 托管模块的各个组成部分:PE32或PE32+头,CLR头,元数据,IL(中间语言)代码. 高级语言通常只公开了CLR的所有功能的一个子集.然而,IL汇编语言允许开发人员访问C ...

  2. 《大象UML》看书笔记2:

    <大象UML>看书笔记2 抽象角度:                                                        在为现实世界建模的时候,首先要搞清楚有多 ...

  3. .NET编程和SQL Server ——Sql Server 与CLR集成 (学习笔记整理-1)

    原文:.NET编程和SQL Server ——Sql Server 与CLR集成 (学习笔记整理-1) 一.SQL Server 为什么要与CLR集成 1. SQL Server 提供的存储过程.函数 ...

  4. JavaScript看书笔记01

    JavaScript看书笔记... ------------------- JavaScript允许var定义语句出现在函数内部的任意位置.JS中使用Var来显示的给变量声明 JavaScript是一 ...

  5. 简明Python教程 ~ 随书笔记

    本文是阅读<简明Python教程>所做的随书笔记,主要是记录一些自己不熟悉的用法,或者所看到的比较有意思的内容,本书英文版A Byte of Python, 中文译版 简明Python教程 ...

  6. 《Effective C++》第8章 定制new和delete-读书笔记

    章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effecti ...

  7. 初入 CLR - 阅读《CLR via C#》笔记

    最近买了一本书<CLR via C#>阅读了第一章 - CLR 的执行模型,对 .NET 一直提到的 CLR 和 .NET Framework 有了一个大致的了解.我理解主要体现在: ■ ...

  8. 锋利的jquery-读书笔记(一)

    最近转职做前端,学了两个月目前学到jquery的部分,看的是<锋利的jquery>这本书,特地开了博客将自己学习过程中看到的一些知识做一个笔记. 第一章: 一.jQuery对象和DOM对象 ...

  9. spring笔记----看书笔记

    上周末看了一章以前javaee轻量级的书spring部分,简单做了一些笔记 // ApplicationContext ac=new ClassPathXmlApplicationContext(&q ...

随机推荐

  1. webservice中jaxws:server 和jaxws:endpoint的区别

    今天在学习使用spring+cxf发布webservice时遇到个问题,我原来是用 <jaxws:endpoint id="helloWorld" implementor=& ...

  2. 总结各种排序算法【Java实现】

    一.插入类排序 1.直接插入排序 思想:将第i个插入到前i-1个中的适当位置 时间复杂度:T(n) = O(n²). 空间复杂度:S(n) = O(1). 稳定性:稳定排序. 如果碰见一个和插入元素相 ...

  3. 3_SQL Server通过代码的方式添加数据

    --通过代码添加数据 --第一种方式--insert into 表名(列名1,列名2,...)values (值1,值2,...)insert into Department(DepName, Dep ...

  4. CCNP-3.vlan间路由及三层交换机的配置

  5. 【集美大学1411_助教博客】团队作业2——需求分析&原型设计 成绩

    首先要向各位同学道歉,最近助教的工作较多,并且伴随着频繁的出差,评论博客和评分都不及时,以致于同学们都没有得到反馈,在此我要表示歉意.其次,对于第二次团队作业,有两个团队没有提交到班级博客中但按时完成 ...

  6. 【Alpha】Daily Scrum Meeting——Day2

    站立式会议照片 1.本次会议为第二次 Meeting会议: 2.本次会议在中午12:30,在陆大楼召开,本次会议为30分钟讨论昨天的任务完成情况以及接下来的任务安排. 每个人的工作分配 成 员 昨天已 ...

  7. 201521123020 《Java程序设计》第7周学习总结

    1. 本周学习总结 2. 书面作业 1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 public boolean contains(Object o) { re ...

  8. 201521123086《JAVA程序设计》第五周作业

    本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 书面作业 代码阅读:Child压缩包内源代码 Q1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误 ...

  9. 201521123007《Java程序设计》第3周学习总结

    1. 本周学习总结 初学面向对象,会学习到很多碎片化的概念与知识.尝试学会使用思维导图将这些碎片化的概念.知识组织起来.请使用纸笔或者下面的工具画出本周学习到的知识点.截图或者拍照上传. 2. 书面作 ...

  10. 201521123069 《Java程序设计》 第3周学习总结

    1. 本章学习总结 如果看不清楚可点击类与对象 2. 书面作业 Q1. 代码阅读 public class Test1 { private int i = 1;//这行不能修改 private sta ...