Sobes.tech
Junior — Middle

Jak zaimplementować mechanizm powiadamiania o zmianach właściwości w modelach danych w .NET?

sobes.tech AI

Odpowiedź od AI

W .NET, aby zaimplementować powiadomienia o zmianach właściwości w modelach danych, zwykle używa się interfejsu INotifyPropertyChanged. Definiuje on zdarzenie PropertyChanged, które jest wywoływane przy zmianie wartości właściwości.

Przykład implementacji:

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

Po zmianie właściwości Name wywoływana jest metoda OnPropertyChanged, która powiadamia subskrybentów o zmianie. Często jest to używane w wzorcu MVVM do aktualizacji interfejsu użytkownika po zmianie danych.