命名空间语义差异

时间:2013-09-25 13:48:40

标签: c# .net namespaces

我发现.NET framework中的大部分类型分布在3个不同的名称空间中(可能更多),一个以Microsoft开头,另一个以System开头,第三个以{{1}开头}}。

例如,有WindowsWindows.System.Threading.ThreadPool

这种设计有明显的语义差异吗?

3 个答案:

答案 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应用程序。