using System.ComponentModel;
using System.Runtime.CompilerServices;
public static void Main()
DemoCustomer demo = new DemoCustomer();
demo.PropertyChanged += DemoCustomer_PropertyChanged1;
demo.PropertyChanged += DemoCustomer_PropertyChanged2;
demo.CustomerName = "Whit";
demo.PhoneNumber = "555-555-5555";
void DemoCustomer_PropertyChanged1(object? sender, PropertyChangedEventArgs e)
Console.WriteLine("Logic for event handler 1");
void DemoCustomer_PropertyChanged2(object? sender, PropertyChangedEventArgs e)
Console.WriteLine("Logic for event handler 2");
public class DemoCustomer : INotifyPropertyChanged
private string customerNameValue = string.Empty;
private string phoneNumberValue = string.Empty;
public event PropertyChangedEventHandler PropertyChanged;
private void NotifyPropertyChanged([CallerMemberName] string propertyName = "")
if (PropertyChanged != null)
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
customerNameValue = "Customer";
phoneNumberValue = "(312)555-0100";
public string CustomerName
return this.customerNameValue;
if (value != this.customerNameValue)
this.customerNameValue = value;
public string PhoneNumber
return this.phoneNumberValue;
if (value != this.phoneNumberValue)
this.phoneNumberValue = value;