我看到其中的大多数类型.NET framework
分布在 3 个不同的命名空间(可能更多)中,一个以 开头Microsoft
,另一个以开头,System
第三个以Windows
.
例如有Windows.System.Threading.ThreadPool
和System.Threading.ThreadPool
。
这种设计是否有明确的语义差异?
我看到其中的大多数类型.NET framework
分布在 3 个不同的命名空间(可能更多)中,一个以 开头Microsoft
,另一个以开头,System
第三个以Windows
.
例如有Windows.System.Threading.ThreadPool
和System.Threading.ThreadPool
。
这种设计是否有明确的语义差异?
Microsoft.*
命名空间通常是 .NET 命名空间,用于特定于 Windows 的功能,例如注册表访问
System.*
命名空间是“普通”的 .NET 系统命名空间
Windows.*
命名空间通常是 Windows 运行时(也称为 WinRT)的一部分(对于 Windows 8 商店应用程序,Windows Phone 8)
Windows
, 适用于 Windows8系列 SDK。
System
用于常见的 .NET 命名空间。
Microsoft
适用于某些特定于 Windows 的操作系统功能。
System 命名空间是为 .NET Framework 保留的。
Microsoft 命名空间保留供 Microsoft 在不属于 .NET Framework 的 .NET 库上使用。
Windows 命名空间用于 Windows 8 WinRT 组件。这些不是 .NET 本身,而是针对 Windows 8 应用程序投射到 .NET 中的。