Visual Basic.Net是.Net架构中最流行、最易学的语言。
.NET框架是一种多语言的编程环境,在这个环境中,我们可以从事项目的开发、部署及运行基于Web的应用程序和服务。
.NET框架是由类和服务构成,它们形成了应用程序通操作系统之间的一层,包括下面两个组件
- CLR(Common Language Runtime,通用语言运行库)
- CLR是.NET框架的运行期间。CLR向与其兼容的语言提供一套通用服务,如异常处理、安全性、调试等。
- 在程序的执行的过程中,CLR控制代码与操作系统的交互。
- 由CLR执行的代码成为可控代码。
- 不由CLR执行的代码成为不可控代码。
- 可控代码通过向CLR提供元数据,而与CLR“协作”。
- CLR向代码提供服务,如垃圾收集和内存管理。
- 与可控代码不同,不可控代码可以绕过.NET框架API函数,直接调用操作系统的API函数。
- 在编译过程中,CLR把代码转换为MSIL(Microsoft Intermediate Language,微软中间语言)MSIL是一套独立于CPU的指令。
- MSIL包括用于载入、存储、初始化和调用方法的指令,还包括有关算术和逻辑操作以及异常处理的指令。
- 编译除MSIL之外的任何代码时,元数据预备编译代码一起创建和存储。元数据包含有关代码中成员、类型和引用的信息。
- CLR使用元数据定位并载入类,创建机器码,对代码进行安全检查,并执行代码。这样,编译代码后,已编译文件中变包含MSIL和元数据。
- 包含MSIL和元数据的已编译文件称为PE(Portable Executable,可移植执行体)
- 在程序执行前,CLR的JIT(just-in-time,实时)编译器调用元数据,并将PE文件中的MSIL转换为机器码。因为机器码依赖于CPU,而MSIL不依赖于CPU,所以CLR提供了不同的JIT编译器,同意MSIL可以在不同的体系结构中被执行
- CLR定义了CTS(common typesystem,通用类型库),CTS列出了CLR支持的类型
- 类
- 接口
- 数值类型
- CTS的使用确保了诸如Integer(整型).string(字符串).long(长整型)等数据类型在所有CLR兼容的语言环境中会被进行同样的处理。
- 也就是说,因为数据类型在所有语言中会被同样的处理,所以我们可以把变量从一种由CLR兼容的语言创建的类传递到另一个类,不用理会定义变量时所使用的是什么编程语言。
- 委托
- .NET框架类库
- .Net框架类库包括多个可重用的、面向对象的、可扩展的类。它与CLR继承在一起,对于Visual Studio.NET中所有编程语言是通用的。
- .NET框架类中的类按层次进行组织。在.Net框架类库中,System命名空间在层次结构的顶端,并包含所有其他类。
- System命名空间主要包含下面几个类:
- 转换数据类型
- 处理参数
- 调用本地和远程程序
- 管理应用程序环境。
- Microsoft.Csharp,在VisualC#.Net中编译并产生代码
- Microsoft.Jscript在Jscript中编译并产生代码
- Microsoft.visualbasic在visualbasic.Net中编译并产生代码
- Microsoft.Win32处理系统注册,并管理操作系统事件
- System管理异常,并定义数据类型、事件和事件处理程序、接口以及特性。
- System命名空间主要包含下面几个类:
- .NET框架特征
- .NET框架提供了可以跨语言使用的基本功能。例如,NET框架提供了Windows窗体和Web窗体。我们可以在任何.NET语言中使用windows窗体创建windows应用程序。与此类似,我们可以使用支持.NET框架的任何语言都可以访问Web窗体,并创建Web应用程序。
- .NET框架提供了一个集成的调试器。不管编写.NET框架代码的编程语言是哪一种,都可以使用这个集成的调试器调试这些代码。
- 调试器可以远程调试
- 运行期间调试程序
- 通过提供CAS(代码访问安全性,code-access security)和基于角色的安全性,.Net框架为应用程序引入了新的安全机制,使用CAS,可以为代码制定权限。CAS设置了决定了代码能够或不能执行的行为。通过指定CAS,可以确保代码不被错误地使用。
- 基于角色的安全性确保了未授权用户不能访问应用程序。使用基于角色的安全性,可以为实体指定权限。
- 好,现在进入你问我答游戏
- 问:.Net允许多语言在其上编译的基础是????
- 答:轮到你了
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。