Lihat "Pemrograman Lanjutan C#, Edisi Keempat"
· Salah satu alasan untuk menulis konstruktor statis adalah bahwa suatu kelas memiliki beberapa bidang atau properti statis yang perlu diinisialisasi dari sumber eksternal sebelum kelas tersebut digunakan untuk pertama kalinya.
· Konstruktor statis dijalankan paling banyak satu kali, sebelum kode mereferensikan kelas.
· Konstruktor statis tidak memiliki pengubah akses dan tidak pernah dipanggil oleh kode C# lainnya, sehingga pengubah akses seperti public dan private tidak ada artinya.
· Konstruktor statis tidak dapat mengambil parameter apa pun, dan suatu kelas hanya dapat memiliki satu konstruktor statis.
· Konstruktor statis hanya dapat mengakses anggota statis kelas, bukan anggota instance.
Contohnya diberikan di bawah ini:
Preferensi Pengguna kelas publik
{
Warna BackColor yang hanya dapat dibaca statis publik;
Preferensi Pengguna statis()
{
//baca BackColor dari sumber luar;
}
// ...
}
kelasMainEntryPoint
{
kekosongan statis Utama()
{
Console.WriteLine(UserPreferences.BackColor.ToString());
}
}
Perhatikan bahwa konstruktor instance tanpa parameter dapat hidup berdampingan dengan aman dengan konstruktor statis di kelas. Walaupun daftar parameternya sama, namun tidak ada kontradiksi, karena konstruktor statis dijalankan saat kelas dimuat, dan konstruktor instance dijalankan saat instance dibuat, sehingga tidak akan ada konflik dalam eksekusi konstruktor.
kelas MyTempClass
{
nomor int statis publik = 100;
statis MyTempClass()
{
angka = 101;
}
}
Program kelas
{
kekosongan statis Utama (string[] args)
{
int x = Kelas Temp Saya.num;
Konsol.WriteLine();
}
}
Pada program di atas, jika konstruktor statis tidak ditambahkan, nilai x adalah 100. Dengan ditambahkan konstruktor, nilai x adalah 101.