#625 – Reference a Nested Type Using Dot Notation

If a nested type is declared with the proper access modifier, it will be accessible from outside the class that contains it.  To use a nested type, you use a dot notation that looks like the following:

OuterType.InnerType

For example, let’s say that you define a DogCollar class inside the definition of a Dog class.  If DogCollar is made accessible from outside the implementation of Dog, you could use it as follows:

            Dog.DogCollar jacksCollar = new Dog.DogCollar(6);

Note that, unlike namespaces, you cannot include a using statement that would allow you to use the DogCollar type name without the Dog prefix.  The nested type must always be prefixed by the name of the containing type.