Sobes.tech
Junior — Middle

Kako implementirati mehanizam obaveštavanja o promenama svojstava u modelima podataka u .NET?

sobes.tech АИ

Одговор од АИ

U .NET-u, za implementaciju obaveštenja o promenama svojstava u modelima podataka, obično se koristi interfejs INotifyPropertyChanged. On definiše događaj PropertyChanged, koji se poziva kada se promeni vrednost svojstva.

Primer implementacije:

using System.ComponentModel;

public class Person : INotifyPropertyChanged
{
    private string name;
    public string Name
    {
        get => name;
        set
        {
            if (name != value)
            {
                name = value;
                OnPropertyChanged(nameof(Name));
            }
        }
    }

    public event PropertyChangedEventHandler PropertyChanged;

    protected void OnPropertyChanged(string propertyName)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }
}

Kada se promeni svojstvo Name, poziva se metoda OnPropertyChanged, koja obaveštava pretplatnike da se svojstvo promenilo. Ovo se često koristi u MVVM obrascu za ažuriranje UI kada se podaci promene.