So deaktivieren Sie Designer in abgeleiteten Klassen in nachfolgenden Generationen

8

Um den Komponenten-Designer in Klassen zu deaktivieren, ist es einfach, nur das [System.ComponentModel.DesignerCategory ("")] -Attribut hinzuzufügen, es funktioniert jedoch nicht für Klassen, die von dieser Klasse in irgendeiner Generation abgeleitet sind. ZB:

%Vor%

Dies geschieht natürlich in anderen Generationen und Permutationen. ZB

%Vor%

Hat jemand jemals versucht, es los zu werden? Warum versucht das Komponentenmodell, Designerunterstützung hinzuzufügen, obwohl es explizit in der ersten Generation deaktiviert wurde?

Danke

    
Tamir 24.01.2012, 09:45
quelle

2 Antworten

8

Der Grund für ein solches Verhalten liegt in zwischengespeicherten referenzierten Assemblys. Um es zu lösen, entfernen Sie den Verweis auf den Assembly enthaltenen Basisserver mit Attribut und fügen Sie es erneut hinzu. In diesem Fall erstellt Visual Studio das Projekt neu und definiert den Standardeditor für die abgeleitete Klasse nicht.

    
Tamir 25.01.2012 16:25
quelle
0

"Attributvererbung" erschien mir zunächst merkwürdig, da ich immer dachte, Attribute würden nicht vererbt; nach dem Überprüfen von docs.microsoft.com entdeckte ich das das muss nicht der Fall sein - Attribute können Inherited = true haben, also danke, dass Sie mir geholfen haben, mein Wissen zu erweitern: -)

Zusätzlich musste ich einige <SubType>Component</SubType> Einträge aus der .csproj Datei entfernen

    
Matt Jacobsen 26.09.2017 15:04
quelle