Junior — Middle
Jak implementovat mechanismus oznámení o změnách vlastností v datových modelech v .NET?
sobes.tech AI
Odpověď od AI
V .NET se obvykle pro implementaci oznámení o změnách vlastností v datových modelech používá rozhraní INotifyPropertyChanged. To definuje událost PropertyChanged, která je volána při změně hodnoty vlastnosti.
Příklad implementace:
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));
}
}
Při změně vlastnosti Name je volána metoda OnPropertyChanged, která upozorňuje odběratele na změnu. To se často používá v MVVM vzoru k aktualizaci UI při změnách dat.