Bir sınıfın, uygulamanın herhangi bir noktasında üretilmiş olan instance’larını/object’lerini/nesnelerini sınıf içerisinde temsil etmemizi sağlar.
new MyClass();
class MyClass
{
public int MyProperty { get; set; }
public MyClass()
{
this.MyClass // yukarıda tanımlanan nesneye ulaşırız
this.MyProperty = 1 ; // MyProperty ye ulaşırız.
}
}
Sınıf içerisinde bulunan birden fazla constructor arasında zıplamamızı, atlamamızı sağlar.
new MyCLass(3, "");
//3. constructor üzerinden bir nesne oluşturmak istedik ancak this keywordü 2. yi tetikledi 2. ye gittiğimizde this 1. yi tetikledi.
class MyClass
{
public int MyProperty { get; set; }
public MyClass()
{
Console.WriteLine("Boş constructor");
}
public MyClass("int a") : this()
{
Console.WriteLine("a parametreli constructor");
}
public MyClass(int a , string b) : this(a)
// Constructor tetiklemeden önce this kısmına bakar ilk önce ora tetiklenir. This kısmında parametre olarak a almış o yüzden 2. constructor tetiklenecek. Sonra yukarı gidince yine this var o da 1. constructor ı tetikleyecek.
{
Console.WriteLine("a ve b parametreli constructor");
}
}
Çıktı şu şekilde olacak.
Boş constructor
a parametreli constructor
a ve b parametreli constructor