Вы не можете.
Автоматическое свойство просто создает частное вспомогательное поле для вас и скрывает это от вас. Если вам нужно иметь логику в вашей собственности, вы должны реализовать ее самостоятельно.
При использовании автоматических свойств у вас должны быть и геттер, и сеттер, но вы можете сделать его приватным, например:
public string Foo { get; private set; }
Кстати, вы не можете вернуть исключение из строкового свойства. Исключения должны быть брошен , а не возвращен .
public string Family
{
get { _family; }
set
{
if (value.Length < 3)
return new Exception("Family need at least 3 character long");
else
_family = value;
}
}
Это, вероятно, следует читать:
public string Family
{
get { _family; }
set
{
if (value.Length < 3)
throw new Exception("Family need at least 3 character long");
else
_family = value;
}
}