Ders-13 OOP Özel Sınıf Elemanları

Deconstruct Metodu

Bir sınıf içerisinde “Deconstruct” ismiyle tanımlanan metot, compiler tarafından özel olarak algılanmakta ve sınıfın nesnesi üzerinde geriye hızlıca Tuple bir değer döndürmemizi sağlamaktadır. Deconstruct sınıfının public olması gerekiyor. Örnek olarak bir sınıfımız var ve bir sınıfımızdan bir tane nesne oluşturduk. Bu nesnenin içerisinde onlarca property olabilir, farketmez. BU propertylerden bazılarını analiz mayiyetinde hızlıca elden etmek istiyor olabiliriz. İşte bu ihtiyaca istinaden bize bu nesnenin ilgili propertylerini hızlı bir şekilde belirli bir semantikle bize toplu olarak verebilecek bir özelliktir Deconstruct.

özel sınıf elemanları class ile aynı isimde olmasına karşı Deconstruct istisnadır, sınıf ile aynı isimde olmaz. Bu metodun ismi Deconstruct olmaktadır.

Tanımlama

class MyClass
{

public string x {get; set;}
public string y {get; set;}

public void Deconstruct(out string a, out string b)
{
a = x;
b = y;
}

}

1- Metot geriye değer döndürmemelidir.

2- Metot ado ‘Deconstruct’ olmalıdır.

3- Toople olarak geriye döndürülecek değerler Deconstruct fonsiyonunda out ile tanımlanmış parametreler olmalıdır.

Compiler bu metodun özel bir yapılanma olduğunu isminden anlayacaktır.

Kullanımı

class Person
{

   public string Name{get; set;}
   public string Age{get; set;}

   public void Deconstruct(out string name, out int age)
   {
   name=Name;
   age=Age;
   }

}

Person person = new Person
{
Name="John";
Age=15;
};

var(x,y) = person;

‘x’ string ve ‘y’ int tipine bütünmüştür. ‘x’ = Name, ‘y’ = Age değerini alır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir