接上一篇.net框架读书笔记---通用对象操作(三),开始学习类型以及每个类型的所有实例都具有的一组通用操作。

一、类型成员

一个类型可以定义零个或多个以下成员

  • 常数,常数是一个表示恒定不变的数值的符号,常数总是和类型而非它们的实例相关联,从这个意义上说,它们总是静态的。
  • 字段,字段表示一个数据的值,它或者是只读的,可读可写的。字段范围静态字段和非静态字段,静态字段被视为类型状态的一部分,实例字段被视为对象状态的一部分,建议将字段设置为私有。
  • 实例构造器,实例构造器是一种特殊的方法,它用来将一个新对象的实例字段初始化到正常的初始状态。
  • 类型构造器,类型构造器也是一种特殊的方法,它用来将一个类型的静态字段初始化到正常的初始状态。
  • 方法,方法是一个函数,用来改变或查询一个类型(就静态方法而言),或者一个对象(就实例方法而言)的状态,方法一般需要读写类型或者对象的字段。
  • 重载操作符,同样也是一个方法,它用操作符的形式定义了怎样对对象进行某种操作。
  • 转换操作符,也是一种方法,它定义了怎样将一个对象从一种类型转换到另一种类型。
  • 属性,属性仍是一种方法,它以一种简单的,类似字段的方式实现了设置、或者查询一个对象的状态或类型。
  • 事件(.net框架读书笔记---事件(一) ),分为静态事件和实例事件,静态事件通过类型发送通知,通知的接收者可以是一个类型,也可以是一个对象,实例事件通过对象发送通知,通知的接收者可以是一个类型,也可以是一个对象,事件采用委托(.net框架读书笔记---委托(一))字段来维护登记该事件的侦听着集合。
  • 类型,类型内部可以嵌套定义其他类型。

下面代码展示了上面的类型

代码

class SomeType
{
//嵌套类
class SomeNestedType { }

//常数。只读字段、静态读写字段
const int someConstant = 1;
readonly int someReadOnlyField = 2;
static int someReadWriteField = 3;

//类型构造器
static SomeType() { }

//实例构造器
public SomeType() { }
public SomeType(int x) { }

//实例方法
string InstanceMethod()
{
return null;
}

//静态方法
static void Main() { }

//实例属性
int SomeProp
{
get
{
return 0;
}
set
{
//...
}
}

//实例索引器属性
public int this[string s]
{
get
{
return 0;
}
set
{
//...
}
}

//实例事件
event EventHandler SomeEvent;
}

不管使用何种编程语言,编译器总是要先对我们的源代码进行处理,然后为每一种成员产生相关的元数据,并为其中的方法成员产生IL代码。元数据的格式和编程语言没有关系,这使得CLR成为名副其实的“通用语言运行时”。元数据信息对于所有语言都是通用的,这使得一门编程语言可以无缝的访问另一门语言编写的代码。

.net框架读书笔记---类型成员及其访问限定(一)相关推荐

  1. .net框架读书笔记---基础类型

    接上一篇.net框架读书笔记---值类型的装箱与拆箱, 一.Object CLR要求每个类型都最终集成自System.Object类型,这意味着以下两种定义是相同的: //隐式继承自Object cl ...

  2. .net框架读书笔记---引用参数(ref/out)

    接上一篇.net框架读书笔记---方法(类型造器) 默认情况下,CLR假设所有的方法参数都是按值传递参数的.当参数为引用类型的对象时,参数的传递是通过传递对象的引用(或)指针来完成的.这意味着方法可以 ...

  3. .net框架读书笔记---通用对象操作(一)

    接上一篇.net框架读书笔记---基础类型,这节主要学习这样正确实现所有对象都必须提供的一组通用操作---对象的等值性和唯一性: System.Object类型提供了一个名为Equals的虚方法,其目 ...

  4. 【转】.net框架读书笔记---CLR内存管理\垃圾收集(三)

    接上一篇.net框架读书笔记---CLR内存管理\垃圾收集(二),主要学习了终止化对象(实现了Finalize方法的对象),了解了终止化对象的弊端,学习了通过实现IDisposable接口,通过Dis ...

  5. 【转】.net框架读书笔记---CLR内存管理\垃圾收集(四)

    弱引用 当一个根指向一个对象时,该对象不可能被垃圾收集器收集,在这种情况下,通常说存在一个该对象的强引用(strong reference).垃圾收集器还支持弱引用(weak reference)的概 ...

  6. .net框架读书笔记---虚方法

    接上一篇.net框架读书笔记---引用参数(ref/out), 一.虚方法调用机理 代码 namespace VirtualFunction { class Program { static void ...

  7. .net框架读书笔记---.net文本处理(字符)

    接上一篇.net框架读书笔记---属性.索引器,接下来继续开始学习.net框架中的文本处理. 一.字符 在.NET中,字符采用16位Unicode编码,一个字符有一个System.Char结构(值类型 ...

  8. (转)Tensorflow 实战Google深度学习框架 读书笔记

    本文大致脉络: 读书笔记的自我说明 对读书笔记的摘要 具体章节的摘要: 第一章 深度学习简介 第二章 TensorFlow环境搭建 第三章 TensorFlow入门 第四章 深层神经网络 第五章 MN ...

  9. 【转】.net框架读书笔记---CLR内存管理\垃圾收集(一)

    一.垃圾收集平台基本原理解析 在C#中程序访问一个资源需要以下步骤: 调用中间语言(IL)中的newobj指令,为表示某个特定资源的类型实例分配一定的内存空间. 初始化上一步所得的内存,设置资源的初始 ...

最新文章

  1. ecplise 工具字体大小的调整
  2. Linux CPU数量判断命令
  3. Redis发布与订阅(pub/sub)
  4. WinEdt显示行号
  5. 如何处理error message Invalid parametertype used at function XXXX
  6. 数独项目--关键代码展示:
  7. 上海理工大学:用数字技术打响智慧抗疫信息战
  8. JavaScript中DOM操作
  9. centos设置时间时区
  10. [模拟|数位] leetcode 9 回文数
  11. 一文了解NLP领域国内外主要学术组织、会议和论文
  12. 谈谈C#中的事件注册和注销
  13. GoAhead学习之GoForms
  14. 【OpenCV】图片几何特征提取
  15. 三星全新的AI 芯片投入生产,业界首创深度学习处理能力
  16. android系统GUI设计师必会资源图制作工具
  17. 2022年测试工程师高频面试题及答案【python篇】
  18. 华视身份证读卡器网页信息采集失灵处理办法
  19. 程序员应了解:知识技能金字塔
  20. 锎的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告

热门文章

  1. Laravel 多用户认证
  2. python2.7.12操作Hbase
  3. Struts2+Spring+Hibernate环境搭建
  4. 20个最强的基于浏览器的在线代码编辑器 - OPEN资讯
  5. OpenStack Heat服务介绍 (三)
  6. linux使用VNC服务轻松远程安装oracle
  7. 看到关于java资料比较全的,自己收藏
  8. 学习笔记总结(VC)
  9. java.lang.NoSuchMethodError: org.apache.flink.table.api.TableColumn.isGenerated()Z
  10. fasttext初步使用