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 при промени в данните.