2013-09-25 10 views
15

Ich sehe die meisten Typen in .NET framework sind über 3 verschiedene Namespaces verteilt (möglicherweise mehr), eine mit Microsoft, andere mit System und die dritte mit Windows.Namespace semantische Unterschiede

Zum Beispiel gibt es Windows.System.Threading.ThreadPool und System.Threading.ThreadPool.

Gibt es einen deutlichen semantischen Unterschied bei diesem Design?

Antwort

19

Microsoft.* Namespaces sind normalerweise .NET-Namespaces für Windows-spezifische Features, z. Zugriff auf die Registry

System.* Namespaces sind "normal" .NET System Namespaces

Windows.* Namespaces der Regel Bestandteil von Windows Runtime aka WinRT (für Windows 8 Store Apps, Windows Phone 8)

+0

+1: kurz, schön und klar. –

6

Windows sind, für ist Windows8 Familie SDK.

System ist für allgemeine .NET-Namespases.

Microsoft ist für einige Windows-spezifische OS-Funktionen.

3

Der System-Namespace ist für das .NET Framework reserviert.

Der Microsoft-Namespace ist für Microsoft-.NET-Bibliotheken reserviert, die nicht Teil von .NET Framework sind.

Der Windows-Namespace ist für Windows 8 WinRT-Komponenten. Diese sind nicht per se .NET, sondern werden in .NET für Windows 8-Anwendungen projiziert.