Это вопрос, который мучил меня в течение нескольких лет.
Мы используем производные компоненты и элементы управления Windows Forms в нашем проекте. Например, мы получили из Button, UserControl и т. Д.
Наша производная кнопка имеет некоторые пользовательские свойства. Например, у него есть свойство enum с именем Severity. Установщик для этого свойства просматривает значение перечисления и устанавливает некоторые вещи, такие как цвет текста и границы и тому подобное, на базовой кнопке.
Это прекрасно работает ... НО наши пользовательские элементы управления, которые помещают эту кнопку в свой конструктор и устанавливают значение для серьезности в окне свойств, в итоге фактически записывают код, который свойство Severity выполняет в установщике, для самой кнопки пользовательского элемента управления. ,
Мы не хотим, чтобы ... это противоречило цели обладания общим свойством Severity, потому что мы больше не можем изменять реализацию Severity, и оно не будет глобально применять изменения, потому что пользовательские элементы управления сами устанавливают Свойство серьезности И код, который оно содержало, когда его перетаскивали на элемент управления ...
Я пытался добавить такие атрибуты, как DesignerSerializationVisiblity и тому подобное, но, похоже, это никогда не дало желаемого эффекта.
Как запретить разработчику Windows Forms генерировать код ВНУТРИ реализации свойства Severity?
Спасибо.