Ders-15 OOP Position Record

Positional Record

Norminal Record’lar Object Initilizer’lar ile ilk değerleri verilerek üretilebilen readonly datalardı. Positional Recard’lar ise esasında Record’lar içerisinde tanımlama yapabildiğimiz constructor ve deconstructor kullanımlarını daha da özelleştirerek kullanımlamasını sağlamaktadır. Positional Record bizi bir semantik kazandırıyor. Recard’da çalışırken constructor veya deconstructor oluşturmak istiyorsak bunu eski yöntem yerine yapmaktansa positional record kullanarak bunu daha basit bir şekilde yapıyoruz.

Özetiyle Positional Record; bir record üzerinde contructor ve deconstructor yapılmasını hızlı bir şekilde oluşturmamızı sağlayan bir semantik sağlamaktadır.

Record Position olmadan eski yöntemle Constructor ve Deconstructor kullanımı

record MyRecord
{

   public MyRecord()
   {
 
   }

   public void Deconstruct()
   {
  
   }

}

Record Position kullanarak Constructor ve Deconstructor kullanımı

record MyRecord(string name, string surname) //Record Position
{

}

MyRecord m = new MyRecord("John", "Doe");
var (n, s = m;)

Böylelikle hem Constructor hem de Deconstructor tanımlayıp kullanmış olduk.

MyRecord’a verilen değişkenler karşılığında arkadaş bu değişkenler için init şeklinde propertyler tanımlanır.

Positional Record kullanılırken parametlerin karşılıkları olan propertyleri manuel oluşturmak zorunda değiliz.

Bu parametrelerin karşılığı olarak compiler seviyesinde propertyler otomatik oluşturulmaktadır. Bu propertler oluşturulurken init olacak şekilde oluşturulur.

Bir yanıt yazın

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