У меня есть базовый класс с виртуальным свойством:
public virtual string Name { get; set; }
, тогда у меня есть производный класс, который переопределяет только получатель свойства
public override string Name
{
get { return "Fixed Name"; }
}
Проблема заключается в следующемтолько переопределяет геттер.Если кто-то вызывает установщик, вызывается установщик базового класса, и вызывающий не будет знать, что это неэффективно.
Поэтому я подумал, что сделаю что-то вроде:
public override string Name
{
get { return "Fixed Name"; }
set { throw new Exception(); } //which exception type?
}
два (связанные вопросы):
- Есть ли лучший шаблон для меня?
- Если я должен использовать вышеуказанный шаблон, какое исключение использовать?
Редактировать : Некоторые причины, по которым одно исключение будет предпочтительнее другого, были бы хорошими.Мой коллега и я имели один и тот же аргумент между NotSupported
и InvalidOperation
.