Я немного смущен тем, сколько я ДОЛЖЕН делать со свойствами. Я слышал, что свойства всегда должны представлять логическое свойство класса. Get и Set почти никогда не должны генерировать исключения, за исключением ArgumentOutOfRange. Это правда? Является ли следующий пример совершенно неправильным?
public bool DeviceRegistered
{
get{ return _Registered;}
set
{
if(value)
{
RegisterDevice();
_Registered = true;
}
else
{
UnRegisterDevice();
_Registered = false;
}
}
}
Кроме того, если метод в том же классе хочет изменить значение свойства, должен ли он пройти через средство доступа set свойства или просто изменить частную переменную _Registered напрямую?
Если у вас есть какие-либо дополнительные советы по использованию свойств, пожалуйста, укажите! Спасибо