20.4.2. Open Namespaces

[ fromfile: namespaces.xml id: opennamespaces ]

Any namespace definition is open in the sense that you can add members to an existing namespace by declaring a second namespace with the same name but with new items. The new items will be appended to the namespace in the order in which the namespace declarations are encountered by the compiler.

Classes are similar to namespaces, but classes are not open because they must serve as a pattern for the creation of objects.

The using directive does not extend the scope in which it is used; it imports names from the specified namespace into the current scope.

Names locally defined take precedence over names from the namespace (which are still accessible using the scope resolution operator).