• .NET Framework 平台构造基础


    • 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 基础类库
  • 相关阅读:
    房子不是盖来住的
    房子不是盖来住的
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/liusuqi/p/3224292.html
Copyright © 2020-2023  润新知