クラスでコンポーネント デザイナーを無効にするには、[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
誰かがそれを取り除こうとしたことがありますか?第 1 世代で明示的に無効にされている場合でも、コンポーネント モデルがデザイナー サポートを追加しようとするのはなぜですか?
ありがとうございました