C# 7.0 核心技术指南 (6):C#和.NET Framework 简介 1.7.2

阅读数:7 2019 年 11 月 30 日 23:15

C# 7.0核心技术指南(6):C#和.NET Framework简介 1.7.2

(Windows Runtime)

内容简介
本书前三章将集中介绍 C#语言。首先介绍基本的语法、类型和变量。而后会介绍一些高级的特性,如不安全代码以及预处理指令。如果你是 C#语言的初学者,请循序渐进地阅读这些章节。
其余各章则涵盖了.NET Framework 的核心功能,包括 LINQ、XML、集合、并发、I/O 和网络、内存管理、反射、动态编程、特性、安全、应用程序域和原生互操作性等主题。第 6 章和第 7 章是后续主题的基础,除这两章之外,其余各章可以按照需要以任何顺序阅读。LINQ 相关的三个章节好按顺序阅读。其中的一些章节需要一些并发相关的知识,这些知识将在第 14 章中介绍。

C#还支持和 Windows Runtime (WinRT) 的互操作。WinRT 是

  • 支持 Windows 8 及以上操作系统的语言无关的面向对象的执行接口。
  • 植入 Windows 8 及以上操作系统的库。该类库与上述接口兼容。

“WinRT”这个词汇容易令人误解。这是因为它曾经有两个含义:

  • 其一是 UWP 的前身。即 Windows 8/8.1 商店应用(有时称为 Metro 或者 Modern 应用)的开发平台。
  • 其二是 Microsoft 在 2011 年发布的基于精简指令集(RISC)的平板电脑操作系统(该系统已经被废弃)。

所谓执行接口(execution interface)是一个调用(潜在的)由其他语言书写的代码的协议。Microsoft Windows 曾以低层次的 C 语言形式提供了原生的执行接口,组成了 Win32 API。

WinRT 则更加丰富。从局部看,它是一个支持.NET、C++ 和 JavaScript 的增强版本的 COM(组件对象模型)。和 Win32 不同,它是面向对象的,并拥有相对丰富的类型系统。这意味着从 C#中引用 WinRT 库就像是引用.NET 库一样,你甚至不会意识到你正在使用 WinRT。

Windows 10 的 WinRT 库是 UWP 平台的关键组成部分(UWP 依托于 WinRT 和.NET Core 库)。如果目标平台是标准.NET Framework 平台,则引用 Windows 10 的 WinRT 库是可选的。但是当需要访问 Windows 10 特有的,并未被.NET Framework 涵盖的功能时,WinRT 库就非常有用了。

Windows 10 的 WinRT 库支持 UWP 用户界面,可开发沉浸式触摸优先的应用。它还支持移动设备相关的功能,例如传感器、文本消息等(Windows 8、8.1 以及 10 的新功能是通过 WinRT 而非 Win32 开放的)。WinRT 库还提供了文件 I/O 定制功能使其能够在 UWP 沙盒中顺畅运行。

WinRT 和普通 COM 的区别是 WinRT 的程序库支持多种语言,包括 C#、VB、C++ 和 JavaScript,因此每一种语言(几乎)都将 WinRT 类型视为自己的专属类型。例如,WinRT 将根据目标语言的要求调整大小写规则,甚至还会重新对一些函数与接口进行映射。WinRT 程序集还在.winmd 文件中包含了丰富的元数据,而其格式与.NET 文件相同,不需要特殊处理就可以无缝对接。事实上,除了命名空间存在区别之外,开发者甚至不知道使用的是 WinRT 而非.NET 类型。此外,WinRT 类型遵循 COM 风格限制,并对继承和泛型提供了有限的支持。

C#不仅可以消费 WinRT 库,还可以创建新的库(并在 JavaScript 应用程序中调用)。

C# 7.0核心技术指南(6):C#和.NET Framework简介 1.7.2

购书地址 https://item.jd.com/12681788.html?dist=jd

评论

发布