Creating and Using 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