Create and Use Namespaces in VB.NET

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!


Similar Articles