Если вы используете класс ViewModelBase с интерфейсом INotifyPropertyChanged (обычно это стандартно в приложении MVVM), просто добавьте здесь две строки. Все последующие ViewModels унаследуют эти свойства, что устраняет необходимость реализации двух свойств в каждой из ваших ViewModels.
public class ViewModelBase : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged;
[NotifyPropertyChangedInvocator]
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}
public string Email { get; set; }
public string Language { get; set; }
}
Если вы пометите класс и свойства как абстрактные, это заставит производные классы переопределить два свойства.