Как установить несколько значений свойств на основе значения другого свойства при его изменении?
Из того, что я прочитал, считается плохой практикой устанавливать другие значения свойств из другого свойства. Что мне нужно сделать, так это убедиться,что при изменении конкретного свойства изменяется и связанное с ним свойство, не меняя его.
Например, если бы у меня были следующие свойства:
private bool connected; private bool disconnected; private bool ready; private bool noLiveCalls;
И я
noLiveCalls = false;
Мне нужно, чтобы были установлены следующие свойства
connected = true; disconnected = false; ready = false;
Если я поставлю
ready = true;
Тогда они также должны быть установлены
noLiveCalls = true; connected = false; disconnected = false;
Так что что-то вроде этого должно быть плохой практикой, однако я, кажется, не вижу другого способа обойти это.
private bool ready; public bool Ready { get { return ready; } set { if (ready != value) { if (value) { noLiveCalls = true; connected = false; disconnected = false; } ready = value; } } }
Так что же это плохая практика, и если есть какие-то предложения относительно того, как я могу справиться с ней по-другому?
Что я уже пробовал:
Я пробовал использовать events и propertychanged, но они, похоже, не то, что мне нужно, весь смысл в том, чтобы попытаться избежать необходимости управлять определенными свойствами индивидуально.
Я искал в codeproject и google, но не нашел того, что ищу, но, возможно, я неправильно формулирую поиск или использую неправильные ключевые слова. Мне действительно нужны свойства в других местах, чтобы проверить их значения по сравнению с другими, чтобы разрешить или предотвратить изменение другого свойства.
[no name]
"следующие свойства" - это не свойства, и я никогда не слышал, чтобы это была "плохая практика". Это делается постоянно.
bworknowplease
Спасибо, это делает меня счастливой.