Чтобы отключить конструктор компонентов в классах, просто добавьте к нему только атрибут [System.ComponentModel.DesignerCategory ("")], однако он не работает для любых производных классов из этого класса в любом поколении. Например:
[System.ComponentModel.DesignerCategory("")]
public class A:ServiceBase { } //Designer is disabled here
public class B:A {} //Designer is enabled here
[System.ComponentModel.DesignerCategory("")]
public class B:A {} //Designer is enabled here too
[System.ComponentModel.DesignerCategory("Code")]
public class B:A {} //Designer is enabled even here
Это случается, конечно, в любых других поколениях и перестановках. Например.
//Whatever attribute here
public class C:B {} //Designer is enabled here
Пытался ли кто-нибудь избавиться от этого? Почему компонентная модель пытается добавить поддержку конструктора, даже если она явно отключена в первом поколении?
Спасибо