我发现.NET framework
中的大部分类型分布在3个不同的名称空间中(可能更多),一个以Microsoft
开头,另一个以System
开头,第三个以{{1}开头}}。
例如,有Windows
和Windows.System.Threading.ThreadPool
。
这种设计有明显的语义差异吗?
答案 0 :(得分:19)
Microsoft.*
命名空间通常是.NET命名空间,用于特定于Windows的功能,例如:注册表访问
System.*
名称空间是“正常”的.NET系统名称空间
Windows.*
命名空间通常是Windows Runtime又名WinRT的一部分(适用于Windows 8商店应用程序,Windows Phone 8)
答案 1 :(得分:6)
Windows
,适用于 Windows8 系列SDK。
System
适用于常见的.NET名称空间。
Microsoft
用于某些特定于Windows的操作系统功能。
答案 2 :(得分:3)
System命名空间是为.NET Framework保留的。
Microsoft命名空间保留供Microsoft在不属于.NET Framework的.NET库上使用。
Windows命名空间适用于Windows 8 WinRT组件。这些不是.NET本身,而是投射到.NET for Windows 8应用程序。