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!