@ bobbymcr совершенно прав в своем анализе.Решением будет пометить свойство как internal protected
.В C # это означает, что он будет доступен как для производных классов , так и для всех классов из текущей сборки.
Если вы поставите internal protected
для метода доступа - это означает, что он доступен дляпроизводные классы.Но всего свойства нет, что вызывает ошибку.Если вы пометите все свойство как internal protected
и метод доступа как protected
- все в порядке.
internal protected virtual bool IsFocused
{
get
{
return isFocused;
}
protected set
{
isFocused = value;
}
}
private bool isFocused;
Другой вариант - ввести protected
метод, который будет вызываться в установщике.Тогда вы можете пометить все свойство как internal
и разрешить переопределять только этот метод.