Как отключить конструктор в производных классах в следующих поколениях

Чтобы отключить конструктор компонентов в классах, просто добавьте к нему только атрибут [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

Пытался ли кто-нибудь избавиться от этого? Почему компонентная модель пытается добавить поддержку конструктора, даже если она явно отключена в первом поколении?

Спасибо

8
задан Tamir 24 January 2012 в 09:45
поделиться