Implementing an interface
In addition to overriding virtual members from a base type, there is often the need to implement interfaces that satisfy a need for a third-party library you are using. The implementation of the interface might not be important to your own code, but it is something that is forced on you to enable certain behaviors.
Anyone who has been doing any XAML-flavored development will have come across an interface called INotifyPropertyChanged. The INotifyPropertyChanged interface is something that the data binding engine recognizes and will automatically use if a type implements it. Its purpose is to notify anyone using your object when a property changes. This is very useful when you have a UI element automatically reflecting changes being done in the data behind the scenes.
The INotifyPropertyChanged interface itself is very simple and looks like this:
public interface INotifyPropertyChanged { event PropertyChangedEventHandler? PropertyChanged...