博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
八、通用类型系统
阅读量:6572 次
发布时间:2019-06-24

本文共 867 字,大约阅读时间需要 2 分钟。

1、通用类型简介        

CLR中的一切都围绕类型展开,因为IL是面向对象的高级机器语言.类型向应用程序和其他类型公开了功能.通过类型,用一种编程语言写的代码能与另一种编程语言写的代码沟通.由于类型是CLR的根本,所以MS制定了一个正式的规范来描述类型的定义和行为,这就是"通用类型系统"(Common Type System,CTS).

 

2、通用类型(CTS)规范

CTS规范规定,一个类型可以包含零个或者多个成员.成员如下:

(1)、字段

作为对象状态一部分的数据变量.字段根据名称和类型来区分

(2)、方法

针对对象执行操作的函数,通常会改变对象状态,方法有一个名称、一个签名以及一个或多个修饰符。签名指定参数数量(及其顺序).参数类型:方法是否有返回值,如果有返回值,还要指定返回值类型.

(3)、属性

对于调用者,属性看起来像是字段.但对于类型的实现者,属性看起来像是一个方法(或者两个方法,get和set方法).属性允许在访问值之前校验输入参数和对象状态,以及/或者尽在必要时才计算某个值.属性还允许类型的用户采用简化的语法.最后,属性只允许创建只读或只写的"字段".

(4)、事件

时间在对象以及其他相关对象之间实现了通知机制。具体请参考

 

3、成员修饰符

通用类型系统(CTS)指定了类型可见性规则以及类型成员的访问规则.如下:

(1)、public

如果将类型标记为public,那么任何程序集都能看见并访问该类型

(2)、assembly(在C#中使用internal修饰符)

只有在同一个程序集中的代码才能看见并访问该类型.

(3)、private

被private修饰的成员智能由同一个类型中的其他成员访问

(4)、family(在C#中使用protected修饰符)

成员可由派生类型访问,不管那些类型是否在同一程序集中

(5)、protected internal

成员只能由同一程序集中的任何类型来访问.

 

转载于:https://www.cnblogs.com/GreenLeaves/p/8427691.html

你可能感兴趣的文章
Android 自定义GridView网格布局
查看>>
基于 jQuery & CSS3 实现智能提示输入框光标位置
查看>>
我的友情链接
查看>>
ThreadLocal分析
查看>>
mysql优化:连接数
查看>>
如何优化js代码(1)——字符串的拼接
查看>>
PHP 时间操作 / 跳转问题
查看>>
Windows 2012 R2 FSMO角色相关小记录
查看>>
(小蚂蚁站长吧)网站优化做好这八步你就是seo第一
查看>>
使用流的方式往页面前台输出图片
查看>>
java核心技术反射
查看>>
我的友情链接
查看>>
Maven创建新的依赖项目
查看>>
2015年10月26日作业
查看>>
LAMP,安装脚本
查看>>
Java异常总结
查看>>
DHCP
查看>>
电脑上怎样压缩图片大小
查看>>
新来的发一个帖子
查看>>
Nginx 支持webSocket 响应403
查看>>