- 19 May 2021
- 48
- 15
C#:
class Program
{
static void Main(string[] args)
{
Film f1 = new Film()
{
isim = "cehennem melekleri",
saat = "12.00",
salonNo = 2
};
Film f2 = f1.With(4);
Console.WriteLine(f2.salonNo);
}
}
class Film
{
public string isim { get; set; }
public string saat { get; init; }
public int salonNo { get; init; }
public Film With(int _salonNO)
{
return new Film()
{
isim = this.isim,
saat = this.saat,
salonNo = _salonNO
};
}
}
Salt okunur oluşturduğum bu nesnenin bir property'sinin değerinde bir değişiklik yapıp yeni bir nesne oluşturmak isityorum. Nesneyi oluştururken property değerlerini tek tek yazmak istemedim, çok sayıda property'e sahip bir classtan nesne oluşturuken sadece bir değeri değiştirmek için bunu yapmak mantıklı olmaz sanırım. Bunun için class içerisinde bir With metodu oluşturdum ama her property için farklı bir with metodu oluşturmam gerekecek. Class içersinden 25 tane property olduğunu varsayalım, hepsi için ayrı bir metod oluşturmak saçmalık olur. Aklıma gelen With metodunun aldığı parametlereleri default yapmak ama bunu beceremedim sizin bir fikriniz varmı acaba?
Not: Bu işlemi class yerine record kullanarak rahatlıkla yapabilirim ama classla yapmak istedi canım..