Sobes.tech
Junior — Middle

Կարող եք բացատրել, թե ինչ է INotifyPropertyChanged ինտերֆեյսը և ինչ իրավիճակներում է այն օգտագործվում:

sobes.tech AI

Պատասխան AI-ից

C# լեզվում INotifyPropertyChanged ինտերֆեյսը օգտագործվում է՝ տեղեկացնելու բաժանորդներին օբյեկտի հատկության արժեքի փոփոխության մասին: Սա հատկապես օգտակար է MVVM մոդելում՝ UI-ի զարգացման ժամանակ, որպեսզի տվյալների փոփոխության դեպքում ավտոմատ կերպով թարմացվի ինտերֆեյսը:

Երբ օբյեկտի հատկությունը փոխվում է, գործարկվում է PropertyChanged իրադարձությունը, և այդ իրադարձությանը գրանցված UI կամ այլ կոմպոնենտներ ստանում են ծանուցում և կարող են թարմացնել ցուցադրությունը:

Օգտագործման օրինակ՝

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 հատկությունը փոխվում է, բոլոր բաժանորդները ստանում են ծանուցում և կարող են թարմացնել UI-ն։