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!