C#でのinotifypropertychangedの使い方は何ですか?
C#において、INotifyPropertyChangedは、バインディング元オブジェクトのプロパティが変更されたことを通知するためのインターフェースです。通常は、このインターフェースを実装し、プロパティが変更された際にPropertyChangedイベントを発生させる必要があります。以下は簡単な例です:
using System;
using System.ComponentModel;
class Person : INotifyPropertyChanged
{
private string name;
public string Name
{
get { return name; }
set
{
if (name != value)
{
name = value;
OnPropertyChanged("Name");
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected virtual void OnPropertyChanged(string propertyName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
}
class Program
{
static void Main()
{
Person person = new Person();
person.PropertyChanged += (sender, e) =>
{
Console.WriteLine($"{e.PropertyName} has changed");
};
person.Name = "Alice";
}
}
上記の例では、PersonクラスはINotifyPropertyChangedインターフェースを実装し、NameプロパティのsetterでOnPropertyChangedメソッドを呼び出して、PropertyChangedイベントを発生させています。Mainメソッドでは、PropertyChangedイベントに登録し、プロパティが変更されたときに対応する情報を出力しています。
この情報が役立ち、C#でINotifyPropertyChangedインターフェースを使用してプロパティ変更通知を実装するのに役立つことを願っています。