Added by Cameron Kenneth Knight
Definition: Namespace - A name that uniquely identifies a set of objects so there is no ambiguity when objects from different sources are used together.
Namespaces are useful because if you have, for example, a
Dog namespace and a
Furniture namespace, and they both have a
Leg class, you can refer to
Furniture.Leg and be clear about which
class you are mentioning.
To declare a
namespace, all that is required is that you put
namespace followed by a name at the top of your file.
namespace Tutorial class Thing(): pass
This creates your class
Tutorial.Thing. While coding inside your
namespace, it will be transparently Thing.
To declare a
namespace within a
namespace, just place a dot . inbetween each other.
Recommendation: Declare a namespace at the top of all your files. Use PascalCase for all your namespaces.
classes from another
namespace, you would use the
The most common
namespace you will import is
import System Console.WriteLine()
Both produce the exact same code, it's just easier and clearer with the
Recommendation: Don't be afraid to import, just don't import namespaces that you aren't using.
Recommendation: When importing, import included namespaces first, such as
Boo.Lang. Then import your 3rd party namespaces. Alphabetize the two groups seperately.
If you are importing from another assembly, you would use the phrase
import <target> from <assembly>, for example
import System.Data from System.Data import Gtk from "gtk-sharp"
System.Data is part of an external library which can be added,
Gtk is part of the Gtk# library, which, since it has a special name (with a dash in it), it must be quoted.
Recommendation: Only use the
import <target> from <assembly> if you are using one file and one file only. If you are using more than that, you should be using a build tool, such as NAnt, which is discussed in Part 19 - Using the Boo Compiler.
Go on to Part 13 - Enumerations