Вместо этого вы должны сделать эти элементы (location, width, height) свойствами, а также сделать их виртуальными, как и другие свойства.Этот класс выглядит так, как будто он должен быть базовым классом, от которого наследуются другие вещи, и вы ограничиваете их возможность настраиваться, прикрепляя эти элементы как открытые члены, а не как общие виртуальные свойства.
Когда этоВиртуальное свойство, происходят две вещи:
- весь доступ должен поступать через get / set, потому что член класса не является общедоступным
- , который может быть настроен подклассами
Даже если вы делаете это не по какой-либо другой причине, кроме возможности поставить точку останова отладки или какой-либо диагностический вывод в свойстве, это, вероятно, того стоит.
Кроме того, он мгновенно будет работать ссетка свойств, о которой вы упоминаете (я полагаю).
При этом рефлексия должна быть в состоянии предоставить вам открытых членов, поэтому теоретически вы можете улучшить эту PropertyGrid (если это ваш код) или написать свой (если этонет) это будет отображать как свойства, так и открытые члены.