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