.net框架读书笔记---类型成员及其访问限定(一)
接上一篇.net框架读书笔记---通用对象操作(三),开始学习类型以及每个类型的所有实例都具有的一组通用操作。
一、类型成员
一个类型可以定义零个或多个以下成员
- 常数,常数是一个表示恒定不变的数值的符号,常数总是和类型而非它们的实例相关联,从这个意义上说,它们总是静态的。
- 字段,字段表示一个数据的值,它或者是只读的,可读可写的。字段范围静态字段和非静态字段,静态字段被视为类型状态的一部分,实例字段被视为对象状态的一部分,建议将字段设置为私有。
- 实例构造器,实例构造器是一种特殊的方法,它用来将一个新对象的实例字段初始化到正常的初始状态。
- 类型构造器,类型构造器也是一种特殊的方法,它用来将一个类型的静态字段初始化到正常的初始状态。
- 方法,方法是一个函数,用来改变或查询一个类型(就静态方法而言),或者一个对象(就实例方法而言)的状态,方法一般需要读写类型或者对象的字段。
- 重载操作符,同样也是一个方法,它用操作符的形式定义了怎样对对象进行某种操作。
- 转换操作符,也是一种方法,它定义了怎样将一个对象从一种类型转换到另一种类型。
- 属性,属性仍是一种方法,它以一种简单的,类似字段的方式实现了设置、或者查询一个对象的状态或类型。
- 事件(.net框架读书笔记---事件(一) ),分为静态事件和实例事件,静态事件通过类型发送通知,通知的接收者可以是一个类型,也可以是一个对象,实例事件通过对象发送通知,通知的接收者可以是一个类型,也可以是一个对象,事件采用委托(.net框架读书笔记---委托(一))字段来维护登记该事件的侦听着集合。
- 类型,类型内部可以嵌套定义其他类型。
下面代码展示了上面的类型
![](/assets/blank.gif)
![](/assets/blank.gif)
{
//嵌套类
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指令,为表示某个特定资源的类型实例分配一定的内存空间. 初始化上一步所得的内存,设置资源的初始 ...
最新文章
- ecplise 工具字体大小的调整
- Linux CPU数量判断命令
- Redis发布与订阅(pub/sub)
- WinEdt显示行号
- 如何处理error message Invalid parametertype used at function XXXX
- 数独项目--关键代码展示:
- 上海理工大学:用数字技术打响智慧抗疫信息战
- JavaScript中DOM操作
- centos设置时间时区
- [模拟|数位] leetcode 9 回文数
- 一文了解NLP领域国内外主要学术组织、会议和论文
- 谈谈C#中的事件注册和注销
- GoAhead学习之GoForms
- 【OpenCV】图片几何特征提取
- 三星全新的AI 芯片投入生产,业界首创深度学习处理能力
- android系统GUI设计师必会资源图制作工具
- 2022年测试工程师高频面试题及答案【python篇】
- 华视身份证读卡器网页信息采集失灵处理办法
- 程序员应了解:知识技能金字塔
- 锎的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
热门文章
- Laravel 多用户认证
- python2.7.12操作Hbase
- Struts2+Spring+Hibernate环境搭建
- 20个最强的基于浏览器的在线代码编辑器 - OPEN资讯
- OpenStack Heat服务介绍 (三)
- linux使用VNC服务轻松远程安装oracle
- 看到关于java资料比较全的,自己收藏
- 学习笔记总结(VC)
- java.lang.NoSuchMethodError: org.apache.flink.table.api.TableColumn.isGenerated()Z
- fasttext初步使用