C # Вопрос о свойствах от базового класса
Вопрос
Похоже, я должен знать это, и я думал, что сделал. У меня есть базовый вид модели. так.
protected bool isValid;
public bool IsValid
{
get { return isValid; }
set
{
isValid = true;
this.EventAggregator.GetEvent<ViewModelValidEvent>().Publish(isValid);
}
}
Проблема, которую я получаю, когда я пытаюсь назначить ISVALD в классе, который получен из него - ошибка компилятора говорит, что только чтение ... Я думал, что защищено было то, что мне нужно сделать, чтобы исправить это не так.
Кроме того - я продолжаю объявить эти частные переменные для всего, когда мне нужен сеттер, чтобы позвонить в RobingPropertyChanged или что-то еще ... Есть ли лучший способ сделать это?
Может кто-то указать мне верное направление? Спасибо!!!
Решение
Я подозреваю, что вы пытаетесь использовать isValid
На объекте, который не известен (компилятором), чтобы быть экземпляром полученного класса или подкласса производного класса. protected
имеет относительно тонкую семантику такую.
Лично я бы побудил вас, чтобы ваши поля были частными, хотя и используют свойства из любого другого класса - даже полученный класс.
Что касается более простого способа реализации свойств - я не думаю, что есть один на самом деле, нет. У вас могут быть тип обертки, но вам все равно нужно создать переменную, чтобы удерживать экземпляр типа обертки, а также доступа к доступу / установленным доступам к прокси в переменной.