The implementation of INotifyPropertyChange can be error-prone, as the interface requires specifying property name as a string. In order to make the implementation more robust, an attribute CallerMemberName can be used.
class C : INotifyPropertyChanged
{
// backing field
int offset;
...