Using Statements Can Alias Nested Namespaces

If you have a type defined in a nested namespace, e.g. type DogLogger defined in the DogLibrary.Utility namespace, you can include a using statements that aliases the inner namespace.
In the example below, we have two using statements.  One provides an alias for the outer DogLibrary namespace, so that you can use types from the DogLibrary namespace by just using the type name.  The second aliases the DogLibrary.Utility namespace, so that you can use types defined in the inner namespace.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
using DogLibrary;
using DogLibrary.Utility;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main()
        {
            // DogLibrary.Dog
            Dog d = new Dog();
 
            // DogLibrary.Utility.DogLogger
            DogLogger logger = new DogLogger();
        }
    }