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.