Sobes.tech
Junior — Middle

Cum se poate implementa un mecanism de notificare a modificărilor de proprietate în modelele de date în .NET?

sobes.tech AI

Răspuns de la AI

În .NET, pentru implementarea notificărilor despre modificările proprietăților în modelele de date, se utilizează de obicei interfața INotifyPropertyChanged. Aceasta definește evenimentul PropertyChanged, care este apelat atunci când valoarea unei proprietăți se schimbă.

Exemplu de implementare:

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));
    }
}

Când se modifică proprietatea Name, se apelează metoda OnPropertyChanged, care notifică abonații despre schimbare. Acest lucru este frecvent utilizat în pattern-ul MVVM pentru a actualiza UI-ul atunci când datele se schimbă.