Семантические различия пространства имен
Я вижу, что большинство типов в .NET framework
распространяются на 3 разных пространства имен (может быть больше), один начинается с Microsoft
, другой - с System
, а третий - с Windows
.
Например, есть Windows.System.Threading.ThreadPool
и System.Threading.ThreadPool
.
Есть ли четкая семантическая разница в этом дизайне?
Ответы
Ответ 1
Microsoft.*
пространства имен обычно представляют собой пространства имен .NET для функций, специфичных для Windows, например. доступ к реестру
System.*
пространства имен являются "нормальными" пространствами имен .NET.
Windows.*
пространства имен обычно входят в состав Windows Runtime aka WinRT (для приложений для Windows 8, Windows Phone 8)
Ответ 2
Windows
, для Windows8 семейства SDK.
System
предназначен для общих имен .NET.
Microsoft
предназначен для некоторых особенностей ОС Windows.
Ответ 3
Пространство имен System зарезервировано для .NET Framework.
Пространство имен Microsoft зарезервировано для использования библиотеками Microsoft в .NET, которые не являются частью .NET Framework.
Пространство имен Windows для компонентов Windows 8 WinRT. Это не .NET как таковой, но проецируются в .NET для приложений Windows 8.