C#’ta INotifyPropertyChanged Interface’inin Kullanımı
Merhaba,
Oluşturduğunuz herhangi bir sınıfta; propertylerin değer değişikliklerinde veya metodların algoritmalarında olay yaratmamızı sağlayacak olan INotifyPropertyChanged Interface’ini tanıtacağım.
Yazımızı kısa tutmak için hemen mevzuya giriş yapıyorum.
INotifyPropertyChanged Interface’ini kullanabilmeniz için öncelikle System.ComponentModel kütüphanesini kod sayfanıza entegre etmeniz gerekmektedir.
class Banka : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
private double para;
public double Para
{
get
{
return para;
}
set
{
para = value;
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(nameof(Para)));
}
}
}
}
Yukarıdaki kod bloğunu incelerseniz eğer INotifyPropertyChanged Interface’i PropertyChangedEventHandler isimli delege tipinden PropertyChanged isimli bir event implement etmektedir. Uygulanan eventı propertynin değeri değiştiği noktada fırlatmaktayız.
class Program
{
static void Main(string[] args)
{
Banka banka = new Banka();
banka.PropertyChanged += Banka_PropertyChanged;
banka.Para += 100;
Console.Read();
}
private static void Banka_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
Console.WriteLine("Para eklendi");
}
}
Gördüğünüz gibi Para propertysine veri set edildiğinde ilgili event tetiklenmekte, dolayısıyla propertyde veri değişikliği olduğu zaman bundan event aracılığıyla haberdar edilmekteyiz.
Sonraki yazılarımda görüşmek üzere…
İyi çalışmalar…
