C# – Namespaces

Sebuah namespace dirancang untuk nyediain cara biar ada pemisahan antara satu set nama sama yang lain. Nama-nama class yang dideklarasikan di satu namespace nggak bakal bentrok dengan nama-nama class yang sama yang dideklarasikan di namespace lain.

Defining a Namespace

Untuk bikin namespace, kita mulai dengan nulis kata kunci namespace terus ditambahin pake nama namespacenya kayak gini:

namespace namespace_name {
   // code declarations
}

Untuk manggil versi function atau variable yang pake namespace, tinggal tambahin nama namespace sebelumnya kayak gini:

namespace_name.item_name;

Contoh program yang menunjukkan penggunaan namespaces:

using System;

namespace first_space {
   class namespace_cl {
      public void func() {
         Console.WriteLine("Inside first_space");
      }
   }
}
namespace second_space {
   class namespace_cl {
      public void func() {
         Console.WriteLine("Inside second_space");
      }
   }
}
class TestClass {
   static void Main(string[] args) {
      first_space.namespace_cl fc = new first_space.namespace_cl();
      second_space.namespace_cl sc = new second_space.namespace_cl();
      fc.func();
      sc.func();
      Console.ReadKey();
   }
}

Ketika kode di atas di-compile dan dijalankan, hasilnya bakal muncul seperti ini:

Inside first_space
Inside second_space

The using Keyword

Kata kunci using memberitahu bahwa program ini menggunakan nama-nama yang ada di namespace yang diberikan. Misalnya, kita menggunakan namespace System di program kita. Kelas Console didefinisikan di sana. Jadi kita hanya perlu menulis:

Console.WriteLine("Hello there");

Kita juga bisa nulis dengan nama yang lengkap seperti ini:

System.Console.WriteLine("Hello there");

Kamu juga bisa enggak perlu nambahin namespace di depannya dengan menggunakan perintah using namespace. Perintah ini ngasih tau kompiler kalo kode selanjutnya akan menggunakan nama-nama di namespace yang ditentukan. Jadi nggak perlu lagi menulis namespace-nya di setiap kode berikutnya.

Yuk, kita ubah contoh sebelumnya dengan perintah using!

using System;
using first_space;
using second_space;

namespace first_space {
   class abc {
      public void func() {
         Console.WriteLine("Inside first_space");
      }
   }
}
namespace second_space {
   class efg {
      public void func() {
         Console.WriteLine("Inside second_space");
      }
   }
}   
class TestClass {
   static void Main(string[] args) {
      abc fc = new abc();
      efg sc = new efg();
      fc.func();
      sc.func();
      Console.ReadKey();
   }
}

Ketika kode di atas di-compile dan dijalankan, hasilnya bakal muncul seperti ini:

Inside first_space
Inside second_space

Nested Namespaces

Kamu bisa bikin satu namespace di dalam namespace yang lain kayak gini:

namespace namespace_name1 {
   
   // code declarations
   namespace namespace_name2 {
      // code declarations
   }

Kamu bisa akses anggota-anggota dari nested namespace dengan pake operator titik (.) seperti ini:

using System;
using first_space;
using first_space.second_space;

namespace first_space {
   class abc {
      public void func() {
         Console.WriteLine("Inside first_space");
      }
   }
   namespace second_space {
      class efg {
         public void func() {
            Console.WriteLine("Inside second_space");
         }
      }
   }   
}
class TestClass {
   static void Main(string[] args) {
      abc fc = new abc();
      efg sc = new efg();
      fc.func();
      sc.func();
      Console.ReadKey();
   }
}

Ketika kode di atas di-compile dan dijalankan, hasilnya bakal muncul seperti ini:

Inside first_space
Inside second_space

Leave a Reply

Your email address will not be published. Required fields are marked *