zoukankan      html  css  js  c++  java
  • .net组件技术

    .NET是什么?

      •.NET是一个平台,而不是一种语言。
      •.NET是Microsoft的用以创建XML Web服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。
     

    公共语言运行库(CLR)

      •公共语言运行库,即Common Language Runtime,简称CLR。
     
      •CLR是.NET Framework的核心,通常在CLR控制下运行的代码称为托管代码(managed code)
     
      •在CLR执行编写好的源代码之前,需要编译它们。在.NET中编译分为两个阶段:
        1、把源代码编译为Microsoft中间语言(IL);
        2、CLR把IL编译为平台专用的代码。
     

    .NET中的编译过程(CLR)

    中间语言(IL)

      •Microsoft中间语言和java字节码一样都是低级语言,语法简单,能快速转换为本地机器码。这种设计的通用语法有很重要的优点:平台无关性、提高性能和语言的互操作性。
     
      •中间语言的主要特征:
          1、面向对象和使用接口
        2、值类型和引用类型之间的显著差异
        3、强数据类型化
        4、异常处理
        5、使用特性
     

    通用类型系统(CTS)

      •CTS定义了可以在IL中使用的预定义数据类型,所有面向.NET Framework的语言都可以生成基于这些类型的编译代码。
      •例子:假定VB定义的一个类中包含一个返回值为Integer类型的方法,C#定义的一个类包含这个类的一个实例,要它的调用返回值为Integer类型的方法,而C#中没有名称为Integer的数据类型,这个问题在.NET中是怎么处理的呢?
      •对于这个问题,VB中的Integer实际上是一个32位有符号的整数,它实际映射为中间语言类型int32,因此在IL代码中就指定这种数据类型,C#编译器就可以使用这种类型,所以就不会有问题了。
      •CTS不仅指定了基本数据类型,还定义了一个类型层次结构,其中包含设计合理的位置,在这些位置上,代码允许定义自己的类型。
     
      
     

    公共语言规范(CLS)

      •公共语言规范(Common Language Specification, CLS)和通用类型系统一起确保语言的互操作性。
      •CLS是一个最低标准集,所有面向.NET的编译器都必须支持它。
      •例子:IL是区分大小写的语言,但VB是不区分大小写的语言。CLS通过指定CLS兼容代码不适用任何只根据大小写区分的名称,解决了不区分大小写的问题。因此,VB代码可以与CLS兼容代码一起使用。
     
      •CLS的两种工作方式:
        1、各个编译器的功能不必强大到支持.NET的所用功能;
        2、如果限制类只能使用CLS兼容的特性,就要保证用其他兼容语言编写的代码可以使用这个类。
     

    程序集(Assembly)

      •程序集(assembly)是包含编译好的、面向.NET Framework的代码的逻辑单元。
     
      •程序集是完全自描述的,它是一个逻辑单元而不是物理单元,可以存储在多个文件中。如果一个程序集存储在多个文件中,其中就会有一个包含入口点的主文件,该文件描述了程序集中的其他文件。
     
      •程序集的结构:
        1、程序集元数据
        2、类型元数据
        3、MSIL代码
        4、资源
     
     
     
     
     
      
  • 相关阅读:
    The formatter threw an exception while trying to deserialize the message in WCF
    通过Web Deploy方式部署WCF
    The Managed Metadata Service or Connection is currently not available
    How to create Managed Metadata Column
    冒泡算法
    asp.net core 实战项目(一)——ef core的使用
    Vue学习笔记入门篇——安装及常用指令介绍
    Vue学习笔记入门篇——数据及DOM
    Vue学习笔记目录
    Chart.js在Laravel项目中的应用
  • 原文地址:https://www.cnblogs.com/luonet/p/4086487.html
Copyright © 2011-2022 走看看