클래스에서 구성 요소 디자이너를 사용하지 않도록 설정하려면 [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 세대에서 명시 적으로 작동하지 않는 경우에도 디자이너 지원을 추가하려고하는 이유는 무엇입니까?
고맙습니다.
이러한 클래스가 어떤 어셈블리에 살고 있으며 솔루션의 일부인지 여부는 매우 분명하지 않습니다. 도구 상자의 자동 입력 설정이 우선합니다. –
이것은 언급이 아닙니다. 동일한 어셈블리에서 fbase 클래스와 파생 클래스가 같거나 다른 어셈블리 비헤이비어에 있습니다. 기본 클래스 (ServiceBase에서 직접 파생 된 기본 클래스에만 디자이너가 없습니다.) – Tamir