У меня есть базовый класс, который хранит состояние формы. По умолчанию форма считается доступной для отправки:
public abstract class BaseFormContext : BaseContext
{
private bool _isFormReadyToSend = true;
public BaseFormContext()
{
...
}
/// <summary>
/// The method determines the possibilities to send Form.
/// If false, SendButton will be disabled
/// </summary>
public virtual bool IsFormReadyToSend
{
get { return _isFormReadyToSend; }
set { _isFormReadyToSend = value; }
}
...
}
В некоторых дочерних классах этот метод может быть переопределен:
internal class LoginWindowContext : BaseFormContext
{
...
public override bool IsFormReadyToSend
{
get {
return _Login != String.Empty && _Password != String.Empty;
}
set {
throw new NotSupportedException();
}
}
}
Очевидно, что в случае такой реализации метод set не имеет смысла поддерживать, т.к. он будет устанавливать значение в переменную базового класса без возможности забрать оттуда данные.
Правильно ли будет выбрасывать здесь исключение или есть другой подход для реализации этого паттерна?