命名空间语义差异

本文关键字:语义 命名空间 | 更新日期: 2023-09-27 18:32:49

我看到.NET framework中的大多数类型分布在 3 个不同的命名空间中(可能更多),一个以 Microsoft 开头,另一个以 System 开头,第三个以 Windows 开头。

例如,有Windows.System.Threading.ThreadPoolSystem.Threading.ThreadPool

此设计是否存在明显的语义差异?

命名空间语义差异

Microsoft.*命名空间通常是特定于Windows的功能的.NET命名空间,例如注册表访问

System.*命名空间是"普通".NET 系统命名空间

Windows.*命名空间通常是 Windows 运行时(又名 WinRT)的一部分(适用于 Windows 8 应用商店应用程序,Windows Phone 8)

>Windows,适用于Windows8家族SDK。

System适用于常见的 .NET 名称。

Microsoft适用于某些特定于 Windows 的操作系统功能。

System 命名空间是为 .NET Framework 保留的。

Microsoft命名空间保留供不属于 .NET Framework 的 .NET 库上的Microsoft使用。

Windows

命名空间适用于 Windows 8 WinRT 组件。这些不是 .NET 本身,而是投影到 Windows 8 应用程序的 .NET 中。