Introduction.
We all know namespaces are the basic building block for the .NET
framework. In this article, I'm going to show how to create and use namespaces
with VB.NET and C#.
What is a namespace?
Namespaces are a way to define the classes and other
types of information into one hierarchical structure. System is
the basic namespace used by every .NET code. If we can explore the System
namespace little bit, we can see it has lot of namespace user the system
namespace. For example, System.Io, System.Net, System.Collections,
System.Threading, etc.
A namespace can be created via the Namespace keyword.
Here is an example to create "Books" namespace in VB.NET and
C#.
VB.NET Code:
Namespace
Books
Class Authors
'Do something
End
Class
End Namespace
C# Code:
namespace
Books
{
class Authors
{
//Do something
}
}
This is simple namespace example. We can also build
hierarchy of namespace. Here is an example for this.
VB.NET Code:
Namespace
Books
Namespace Inventory
Imports System
Class AddInventory
Public
Function MyMethod()
Console.WriteLine("Adding Inventory via MyMethod!")
End
Function
End Class
End Namespace
End Namespace
C# Code:
namespace
Books
{
namespace Inventory
{
using System;
class AddInventory
{
public void
MyMethod()
{
Console.WriteLine("Adding Inventory via MyMethod!");
}
}
}
}
That's all it takes to create namespace. Let's look how
we can use the namespaces in our code. I'm going to create a standalone program
to use the namespaces.
VB.NET Code:
Imports
System
Class HelloWorld
Public Sub
Main()
Dim AddInv
As Inventory.AddInventory = New
AddInventory
AddInv.MyMethod()
End Sub
End Class
OR
Imports
System.Inventory
Class HelloWorld
Public Sub
Main()
Dim AddInv
As AddInventory = New AddInventory
AddInv.MyMethod()
End Sub
End Class
C# Code:
using
Books;
class HelloWorld
{
public
static void Main()
{
Inventory.AddInventory AddInv = new
AddInventory();
AddInv.MyMethod();
}
}
OR
using
Books.Inventory;
class HelloWorld
{
public
static void Main()
{
AddInventory AddInv = new AddInventory();
AddInv.MyMethod();
}
}
Note: When using Imports statement or
Using statement we can use only the namespace names, we can't use the class
names. For example, the following statements are invalid.
Imports
Books.Inventory.AddInventory
using
Books.Inventory.AddInventory;
Final Notes
The namespaces are building blocks for the .NET way of
software development. The namespaces wide opens the doors for 3'd party and
project specific custom components and class libraries.
Until next time Happy programming!