Namespaces are an organizational construct. They cannot be instantiated (as with New) like a Class. Instead, we use them to separate code into logical parts.
Namespace benefits. Namespaces help developers understand code but do not impact execution. They can make a program easier to develop and learn.
This example program is divided into 3 classes. The first 2 classes use custom namespaces—Perls and Ruby. They both contain classes—two independent classes both named Website.
Detail In the Properties window, we can set a "Root namespace." I set it to ProgramExample. This contains the other namespaces.
Detail In the third part, we see the Imports directive. We include the Perls namespace, which is nested under the Root namespace.
Detail We access the Ruby namespace directly with a composite name. No Imports statement is needed.
Public Shared Sub Execute()
End NamespaceNamespace Ruby
Public Shared Sub Open()
End NamespaceImports ProgramExample.Perls
' This requires the Imports ProgramExample.Perls directive.
' Access namespace directly in a statement.
End ModulePerls Website
Discussion. There are many ways to use namespaces in programs. Every program by default uses a Root namespace. This is automatically generated when we create a new project.
Tip It can be changed by going to the Project menu and selecting Properties. And we can specify new namespaces with the Namespace keyword.
Tip 2 To access types within a Namespace, we use Imports or a direct access with a composite name (like Ruby.Website.Open).
Summary. Projects often have special rules for Namespaces. Many projects use company-based identifiers in Namespaces. Naming rules are specified by the project, not the VB.NET language itself.