Поскольку ваш базовый класс не имеет этих свойств, вы не сможете изменять их из базового класса, используя стандартные шаблоны или принципы OOD.
Теперь, если вы переместите свойства в базовый класс либо как обычные свойства, либо как виртуальные свойства, вы можете изменить то, что вы делаете в блоке набора свойств, чтобы выполнять дополнительную работу.
Однако, если вы не можете переместить их в базовый класс и не можете изменить класс Student, как вы, вероятно, подразумеваете в своем вопросе, тогда вы можете инкапсулировать класс Student в новый класс, такой как StudentProxy или что-то еще, и затем получить его. выставляйте похожие свойства, которые затем будут вызывать реальный ученический класс так, как вы хотите.
Например:
public class StudentProxy
{
private Student _student;
public StudentProxy(Student student)
{
this._student = student;
}
public String School
{
get { return _student.School; }
set
{
_student.School = value + " my custom value";
}
}
public String Country
{
get { return _student.Country; }
set
{
_student.Country = value + " my custom value";
}
}
}