Я немного запутался в точке Автоматические свойства в С#, например,
public string Forename{ get; set; }
Я получаю, что вы сохраняете код, не объявляя приватную переменную, но какая точка свойства, когда вы не используете какую-либо логику получения или установки? Почему бы просто не использовать
public string Forename;
Я не уверен, какая разница между этими двумя утверждениями, я всегда думал, что вы использовали свойства, если вам нужна дополнительная логика get/set?