.net框架读书笔记---类型成员及其访问限定(一)
接上一篇.net框架读书笔记---通用对象操作(三),开始学习类型以及每个类型的所有实例都具有的一组通用操作。
一、类型成员
一个类型可以定义零个或多个以下成员
- 常数,常数是一个表示恒定不变的数值的符号,常数总是和类型而非它们的实例相关联,从这个意义上说,它们总是静态的。
- 字段,字段表示一个数据的值,它或者是只读的,可读可写的。字段范围静态字段和非静态字段,静态字段被视为类型状态的一部分,实例字段被视为对象状态的一部分,建议将字段设置为私有。
- 实例构造器,实例构造器是一种特殊的方法,它用来将一个新对象的实例字段初始化到正常的初始状态。
- 类型构造器,类型构造器也是一种特殊的方法,它用来将一个类型的静态字段初始化到正常的初始状态。
- 方法,方法是一个函数,用来改变或查询一个类型(就静态方法而言),或者一个对象(就实例方法而言)的状态,方法一般需要读写类型或者对象的字段。
- 重载操作符,同样也是一个方法,它用操作符的形式定义了怎样对对象进行某种操作。
- 转换操作符,也是一种方法,它定义了怎样将一个对象从一种类型转换到另一种类型。
- 属性,属性仍是一种方法,它以一种简单的,类似字段的方式实现了设置、或者查询一个对象的状态或类型。
- 事件(.net框架读书笔记---事件(一) ),分为静态事件和实例事件,静态事件通过类型发送通知,通知的接收者可以是一个类型,也可以是一个对象,实例事件通过对象发送通知,通知的接收者可以是一个类型,也可以是一个对象,事件采用委托(.net框架读书笔记---委托(一))字段来维护登记该事件的侦听着集合。
- 类型,类型内部可以嵌套定义其他类型。
下面代码展示了上面的类型
{
//嵌套类
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框架读书笔记---类型成员及其访问限定(一)相关推荐
- .net框架读书笔记---基础类型
接上一篇.net框架读书笔记---值类型的装箱与拆箱, 一.Object CLR要求每个类型都最终集成自System.Object类型,这意味着以下两种定义是相同的: //隐式继承自Object cl ...
- .net框架读书笔记---引用参数(ref/out)
接上一篇.net框架读书笔记---方法(类型造器) 默认情况下,CLR假设所有的方法参数都是按值传递参数的.当参数为引用类型的对象时,参数的传递是通过传递对象的引用(或)指针来完成的.这意味着方法可以 ...
- .net框架读书笔记---通用对象操作(一)
接上一篇.net框架读书笔记---基础类型,这节主要学习这样正确实现所有对象都必须提供的一组通用操作---对象的等值性和唯一性: System.Object类型提供了一个名为Equals的虚方法,其目 ...
- 【转】.net框架读书笔记---CLR内存管理\垃圾收集(三)
接上一篇.net框架读书笔记---CLR内存管理\垃圾收集(二),主要学习了终止化对象(实现了Finalize方法的对象),了解了终止化对象的弊端,学习了通过实现IDisposable接口,通过Dis ...
- 【转】.net框架读书笔记---CLR内存管理\垃圾收集(四)
弱引用 当一个根指向一个对象时,该对象不可能被垃圾收集器收集,在这种情况下,通常说存在一个该对象的强引用(strong reference).垃圾收集器还支持弱引用(weak reference)的概 ...
- .net框架读书笔记---虚方法
接上一篇.net框架读书笔记---引用参数(ref/out), 一.虚方法调用机理 代码 namespace VirtualFunction { class Program { static void ...
- .net框架读书笔记---.net文本处理(字符)
接上一篇.net框架读书笔记---属性.索引器,接下来继续开始学习.net框架中的文本处理. 一.字符 在.NET中,字符采用16位Unicode编码,一个字符有一个System.Char结构(值类型 ...
- (转)Tensorflow 实战Google深度学习框架 读书笔记
本文大致脉络: 读书笔记的自我说明 对读书笔记的摘要 具体章节的摘要: 第一章 深度学习简介 第二章 TensorFlow环境搭建 第三章 TensorFlow入门 第四章 深层神经网络 第五章 MN ...
- 【转】.net框架读书笔记---CLR内存管理\垃圾收集(一)
一.垃圾收集平台基本原理解析 在C#中程序访问一个资源需要以下步骤: 调用中间语言(IL)中的newobj指令,为表示某个特定资源的类型实例分配一定的内存空间. 初始化上一步所得的内存,设置资源的初始 ...
最新文章
- 用GDB调试程序(二)
- hdu 1026 bfs+记录路径
- 未来一瞥:机器人码农
- 九度 1479:移位和旋转
- caffe安装篇(一)
- Linux substring if
- Glide 4.x之请求网络图片数据流程解析
- gitlab查看word文档_gitlab迁移
- 21世纪最需要的7种人才
- 基于51单片机智能交通灯电路方案设计
- linux、docker容器缺少tailf命令,解决方案。
- access考试素材_access数据库考试试题及答案.doc
- IDEA添加Mapper.xml文件模板
- Java带有效期的Map
- 10.5 欧拉通路与哈密顿通路
- C# 使用斑马打印机打印图片
- Qt中系统屏幕键盘打开与关闭
- Qt系列文章之 QMessageBox
- 数电篮球电子计分器设计
- Mac双系统Win10系统安装MySQL的坑