• CLR 公共语言运行库

执行给定编译代码单元所需的外部服务集合,它提供了一个定义明确的运行库层,可以被支持.NET的所有语言和平台所共享。

      • mscoree.dll:公共对象运行库执行引擎

当用户程序引用一个程序集时,这个库将首先自动加载,然后由它负责将需要的程序集导入内存。

        • 工作流程

 
  • CTS 公共类型系统

CTS是一个正式的规范,它规定了类型必须如何定义才能被CLR承载。

    • 类类型

这是OOP的基础,由成员和数据组成

      • 特征
        • 是否密封
        • 是否实现接口
        • 是具体的还是抽象的
        • 可见性
      • 语法
class Calc{……}
    • 接口类型

由抽象成员定义所组成的一个具名集合,通过特定的类或结构来实现。

      • 语法
public interface IDraw{void Draw()}
    • 结构类型

可以看做是具有语义的轻量级类类型,适用于建模几何和数学数据

      • 语法
struct Point{……}
    • 枚举类型

是一种便利的编程结构,用来组成名称/值对。

      • 语法
enum CharacterType
{Wizard = 100,Thief = 200}
    • 委托类型

等效于类型安全的C风格的函数指针。派生自System.MulticastDelegate类,而不是简单的指向原始内存地址的指针,为.NET事件架构提供了基础。

      • 语法
delegate int BinaryOp(int x,int y);
    • 类型成员

类型成员是集合

      • 组成
        • 构造函数
        • 终结器
        • 静态构造函数
        • 嵌套类型
        • 操作符
        • 方法
        • 属性
        • 索引器
        • 字段
        • 只读字段
        • 常量
        • 事件
      • 可见性
        • 公共的
        • 私有的
        • 受保护的
    • 内建数据类型
CTS数据类型 C#关键字 CLI关键字 备注
System.Byte
byte unsigned char  
System.SByte
sbyte signed char  
System.Int16
short short  
System.Int32
int int or long  
System.Int64
long _int64  
System.UInt16
ushort
unsigned short
 
System.UInt32
uint
unsigned int or unsigned long
 
System.UInt64
ulong
unsigned _int64
 
System.Single
float Float  
System.Double
double Double  
System.Object
object object^  
System.Char
char wchar_t  
System.String
string String^  
System.Decimal
decimal Decimal  
System.Boolean
bool Bool  
 
  • CLS 公共语言规范

它清晰的描述了支持.NET的编译器必须支持的最小的和完全的特征集,可以被基于.NET平台的其他语言用统一的方式进行访问。

    • 规则
      • 规则1:CLS规则仅适用于类型中向定义它的程序集以外公开的部分。
  • BCL 基础类库

.NET Framework 平台构造基础的更多相关文章

  1. C#语法糖演进-C#语言和.NET Framework平台介绍

    p { font-size: 14px; text-indent: 2em } .title { text-indent: 0; font-size: 22px; font-weight: bold; ...

  2. PHP实现微信公众平台开发—基础篇

    PHP实现微信公众平台开发—基础篇 2 1课程介绍 2 2. 微信公众号账号介绍的申请流程详解 2 2.1微信三角色关系 2 2.2信息流的过程 2 2.4微信公众账号的认证 3 2.5订阅号的申请流 ...

  3. 点菜网---Java开源生鲜电商平台-商品基础业务架构设计-商品分类(源码可下载)

    点菜网---Java开源生鲜电商平台-商品基础业务架构设计-商品分类 (源码可下载) 说明:我们搞过电商的人都可以体会到,搞生鲜电商是最复杂的,为什么复杂呢?我总结了有以下几个业务特性决定的: 1. ...

  4. Java生鲜电商平台-商品基础业务架构设计-商品设计

    Java生鲜电商平台-商品基础业务架构设计-商品设计 在生鲜电商的商品中心,在电子商务公司一般是后台管理商品的地方.在前端而言,是商家为了展示商品信息给用户的地方,它是承担了商品的数据,订单,营销活动 ...

  5. 【原创】C#搭建足球赛事资料库与预测平台(3) 基础数据表设计

            本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 开源C#彩票数据资料库系列文章总目录:http://www.cn ...

  6. 【云计算】Docker云平台—Docker基础

    Docker云平台系列共三讲,此为第一讲:Docker基础 参考资料: Docker官方文档:https://docs.docker.com/ Docker从入门到实践:https://yeasy.g ...

  7. 中标麒麟龙芯平台--docker基础镜像制作

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 的出现为开发人员和运维人员带来了极大的便利.Docker在X86下常见的发行版Linux如Ub ...

  8. Entity Framework 动态构造Lambda表达式Expression<Func<T, bool>>

    using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; us ...

  9. 朱晔的互联网架构实践心得S2E7:漫谈平台架构的工作(基础架构、基础服务、基础平台、基础中间件等等)

    前言 程序开发毕竟还不是搬砖这种无脑体力劳动,需要事先有标准,有架构,有设计,绝对不是新公司今天创立,明天就可以开始编码的.其实很多公司在起步的时候没有财力和资源建设独立的基础架构或平台架构部门,甚至 ...

随机推荐

  1. SaaS应用十大关键NFR - 第2部分

    SaaS应用十大关键NFR - 第2部分 在继续上一篇关于SaaS应用的十大关键NFR的博客之后,我们来看看接下来的5个对SaaS解决方案架构产生深刻影响的关键NFR. SaaS应用的关键NFR 多租 ...

  2. Leetcode35 Search Insert Position 解题思路(python)

    本人编程小白,如果有写的不对.或者能更完善的地方请个位批评指正! 这个是leetcode的第35题,这道题的tag是数组,python里面叫list,需要用到二分搜索法 35. Search Inse ...

  3. Python之旅Day7 面向对象&异常处理

    ########################################面向对象初识######################################### 面向对象简介 面向对象编 ...

  4. [转] External(and Live) snapshots with libvirt

    http://kashyapc.com/ Raw image is a blob of data exposed directly in VM as block device, it can't sn ...

  5. Mac 系统安装教程

    上周末买了一个二手的Mac,当时是抹掉整个硬盘的,所以只能选择重装系统了.但是,多次重装都是失败了.最后使用USB安装,试了好几次,误打误撞总算成功了. 下面是整个安装的教程: 1. 备份好所有的私人 ...

  6. css3动画:transition和animation

    概述 之前写过css3 动画与display:none冲突的解决方案,但是最近却发现,使用animation效果比transition好得多,而且不和display:none冲突.下面我把相关新的记录 ...

  7. Oracle列转行函数版本不兼容解决方案

    业务场景 本博客记录一下Oracle列转行函数在Oracle11的一些不兼容问题,vm_concat在一些业务场景是必须的.不过这个函数使用要谨慎,底层实现应该也是group by等等实现的,性能并不 ...

  8. 小程序入口构造工具&二维码测试工具

    小程序入口构造工具&二维码测试工具 本文将介绍我们小程序中隐藏的两个工具页面.原理虽不复杂,收益却实实在在,或许也能给诸君带来启发. 入口构造工具 痛点 PM&运营 投放链接 PM&a ...

  9. freemarker变量自加

    [#assign i = 0][#list dateList as item][#assign i = i + 1]<li><input type="radio" ...

  10. MyEclipse中JavaMail冲突问题

    MyEclipse中的JavaEE5中的mail包中只有接口,而没有实现,所以不能使用 会抛出:java.lang.NoClassDefFoundError: com/sun/mail/util/BE ...