• [CLR via C#]1.6 Framework类库~1.9与非托管代码的互操作性


    1.6 Framework类库

    1. .NET Framework中包含了Framework类库(Framework Class Library,FCL)。

    2. FCL是一组DLL程序集的统称,其中含有数千个类型定义,每个类型公开一些功能。
     
    1.7 通用类型系统
    1. CLR是完全围绕类型展开的。
    2. 类型为应用程序和其他类型公开了功能。通过类型,用一种编程语言写的代码能与另一种语言写的代码沟通。
    3. 由于类型是CLR的根本,所有MicroSoft指制定了一个正式的规范,即"通用类型系统"(Common Type System,CTS),它描述了类型的定义和行为。
    4. CTS规定,一个类型可以包含一个或者多个成员。比如:字段、方法、属性、事件等。
    5. CTS还指定了类型可视性规则以及类型成员的访问规则。如privae、family(C#:protected)、family and assembly(C#:没有)、assembly(C#:internal)、family or assembly(C#:protected internal)、public
    6. CTS规定所有类型最终必须从预定义的System.Object类型继承。
     
    1.8 公共语言规范
    1. MicroSoft定义了一个"公共语言规范"(Common Language Specification,CLS),它详细定义了一个最小的功能集。任何编译器生成的类型要想兼容于其他"符合CLS、面向CLS的语言"所生成的组件,就必须支持这个最小的功能集。
     
    2. CLS定义了所有语言必须支持的一个最小的功能集。
     
    1.9 与非托管代码的互操作性
    1.CLR提供了一些机制,允许在应用程序中同时包含托管代码和非托管代码。具体说,CLR支持三种互操作情形。
        1)托管代码能调用DLL中俄非托管函数。托管代码采取一种名为P/Invoke(Platform Invoke)的机制来调用DLL中的包含的函数。
        2)托管代码可使用现有的COM组件(服务器)。
        3)非托管代码可使用托管类型(服务器)。
  • 相关阅读:
    Rotate Image,N*N矩阵顺时针旋转90度
    JumpGame,JumpGame2
    WildcardMatching和Regex,通配符匹配和正则表达式匹配
    Multiply Strings,字符串相乘
    TrappingRainWater
    300万PV的ASP.NET网站使用阿里云的配置建议
    java 学习 安卓学习
    如何学习Yii
    Lemon开源OA
    JAVA-进行Java Web项目开发需要掌握的技术
  • 原文地址:https://www.cnblogs.com/zxj159/p/3525524.html
Copyright © 2020-2023  润新知