Вы имеете в виду сериализацию XML или «обычную» сериализацию (мыло / двоичный файл), поскольку -afaik- эти 2 метода сериализации отличаются.
AFAIK, если вы используете BinaryFormatter или SoapFormatter, поля сериализуются / десериализуются, а не свойства.
Что касается десериализации, я считаю, что используется специальный 2-аргументный конструктор, имеющий аргументы SerializationInfo и StreamingContext.
Но ничто не мешает вам взять под контроль процесс сериализации с помощью интерфейса ISerializable.
Затем, если вы хотите, чтобы ваше значение было установлено с помощью вашего свойства, я думаю, вы можете сделать это идеально.