.NET 开发中的关键技术:CLS 与共享程序集
1. C# 和 Visual Basic .NET 项目配置选项
在 C# 和 Visual Basic .NET 项目中,可以通过配置属性来更改某些选项。在 C# 项目中,将“Check for overflow underflow”设置为 true 后,C# 编译器为示例生成的 MSIL 代码将与 Visual Basic .NET 编译器生成的代码相同。与 Visual Basic .NET 不同,C# 还可以使用 checked
和 unchecked
运算符逐表达式地选择此选项。
不同 .NET 语言虽然都生成 MSIL 代码且使用 .NET 框架中的类,但性能仍存在细微差异。一方面,不同语言支持的数据类型有所不同;另一方面,生成的 MSIL 代码也可能不同。例如,在数字计算的实现上,Visual Basic .NET 的默认配置注重安全性,而 C# 则更侧重于速度,并且 C# 具有更高的灵活性。
2. CLS 要求
2.1 CLS 概述
CLS(公共语言规范)精确地定义了使组件符合 CLS 的要求,从而使其能够在不同的 .NET 语言中使用。在 .NET 之前,使用 COM 设计组件时,需要关注特定语言的要求,不同语言(如 JScript、Visual Basic 6 和 Visual J++)的要求各不相同。而在 .NET 中,设计供其他语言使用的组件时,只需使其符合 CLS,就能保证该组件可在所有 .NET 语言中使用。
2.2 .NET 语言分类
在讨论 .NET