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 вақте ки маълумот тағир меёбад, истифода мешавад.