Sobes.tech
Junior — Middle

Как може да се реализира механизъм за уведомяване за промени в свойствата в модели на данни в .NET?

sobes.tech AI

Отговор от AI

В .NET за реализиране на уведомяване за промени в свойствата в модели на данни обикновено се използва интерфейсът INotifyPropertyChanged. Той дефинира събитието PropertyChanged, което се извиква при промяна на стойността на свойство.

Пример за реализация:

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

Когато свойството Name се променя, се извиква методът OnPropertyChanged, който уведомява абонатите, че свойството е променено. Това често се използва в MVVM шаблона за актуализиране на UI при промени в данните.