Sobes.tech
Junior — Middle

Kaip įgyvendinti pranešimo apie savybės pakeitimus mechanizmą duomenų modeliuose .NET?

sobes.tech AI

Atsakymas iš AI

.NET'e, norint įgyvendinti pranešimus apie savybių pokyčius duomenų modeliuose, dažnai naudojamas INotifyPropertyChanged sąsaja. Ji apibrėžia įvykį PropertyChanged, kuris kviečiamas, kai keičiasi savybės reikšmė.

Pavyzdys:

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

Kai keičiasi Name savybė, kviečiamas OnPropertyChanged metodas, kuris praneša prenumeratoriams, kad savybė pasikeitė. Tai dažnai naudojama MVVM šablone atnaujinti UI, kai keičiasi duomenys.