Wann müssen wir [Browsable (wahr)] verwenden?
Wann müssen wir die Verwendung [Browsable(true)]
?
BEARBEITEN (von SLaks): Er bittet (wie ich vermute), warum würde man brauchen, um passieren true
als parameter, da es bereits true
standardmäßig.
Kommentar zu dem Problem
Wenn Sie müssen die Eigenschaft im Eigenschaftenfenster angezeigt.
InformationsquelleAutor der Frage Narmatha Balasundaram | 2010-03-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
MSDN sagt alles:
Zum Beispiel, wenn Sie erstellen ein Benutzer-Steuerelement, möchten Sie vielleicht zu dekorieren, nicht UI-bezogene Eigenschaften, die mit
[Browsable(false)]
so, dass Sie nicht über eine "Eigenschaften" - Fenster.Zusätzlich steuert er die Eigenschaften eines Objekts betrachtet werden können
"PropertyGrid" - Steuerelement
.Als dafür, warum wir passieren können
true
explizit, ich glaube, dies ist aufgrundBrowsableAttributes
Eigenschaft einesPropertyGrid
. Sie können es enthaltenBrowsableAttribute.No
, so dass die Eigenschaft raster zeigt alle nicht durchsuchbaren Mitglieder.InformationsquelleAutor der Antwort Anton Gogolev
soweit ich weiß, nie.BEARBEITEN
War ich falsch.
Es ist notwendig, wenn Sie möchten, um eine Eigenschaft, die hat
[Browsable(false)]
in Ihrer Basisklasse (wieUserControl.Text
) browsable.InformationsquelleAutor der Antwort SLaks
Wahrscheinlich, wenn Sie wollen, machen verdammt sicher, dass niemand verpasst 😛
InformationsquelleAutor der Antwort SwDevMan81
Das problem ist, dass die Dinge sind browsable standardmäßig. Das einzige Szenario, ich kann mir denken, wo dieser Materie überschreiben, Mitglied und ändern die der Browser-Zugang... hier
F
ist nur sichtbar, weil der[Browsable(true)]
in der abgeleiteten Klasse - ohne ihn ist es nicht sichtbar.InformationsquelleAutor der Antwort Marc Gravell
Den Typen und Attribute in ComponentModel sind nicht speziell an ein bestimmtes gebunden designer. Obwohl ich nicht weiß, von jedem konkreten Szenario, die Sie benötigen würden, um "opt-in" sein zu designer-browsable, ich nehme an, es ist denkbar, dass Sie haben könnte, einige der component designer, der annehmen würde, browsable(false).
Ich nehme an, man könnte auch überschreiben einer virtuellen Eigenschaft, die angegeben browsable(false) und gelten browsable(true) in der überschriebenen Mitglied.
InformationsquelleAutor der Antwort Josh
Einen visual designer in der Regel zeigt im Eigenschaften-Fenster die Mitglieder, die entweder keinen browsable-Attribut oder sind gekennzeichnet mit dem BrowsableAttribute Konstruktor der durchsuchbaren parameter auf true festgelegt. Diese Mitglieder können geändert werden zur design-Zeit. Mitglieder gekennzeichnet mit dem BrowsableAttribute Konstruktor der durchsuchbaren parameter auf false gesetzt sind nicht geeignet für die design-time-Bearbeitung und sind daher nicht angezeigt, in einem visuellen designer. Der Standardwert ist wahr.
so, die Antwort ist, dass Sie nie haben an, als es standardmäßig gemacht.
InformationsquelleAutor der Antwort David Fox
Laut die Dokumentation Sie wollen, dass es wahr ist, wenn es angezeigt werden soll, in der Eigenschaft Fenster in VS. Grundsätzlich gilt für die Klassen, die verwendet werden, in der designer.
InformationsquelleAutor der Antwort Klaus Byskov Pedersen
Einer Gelegenheit, wenn dieses Attribut wichtig ist während der WebPart-Entwicklung für Sharepoint. In diesem Szenario sind Sie der Bereitstellung von meta-Informationen für Sharepoint, um festzustellen, ob Ihre webpart-sollte sichtbar sein für die Auswahl etc. Es gibt andere ähnliche Attribute wie Kategorie und FriendlyName etc, die werden auch berücksichtigt.
Siehe die folgenden Beispiele:
Erstellen eines Webparts mit benutzerdefinierter Eigenschaften
Und ein weiteres mit anständigen Bilder, die von der sharepoint-Web-part-editor, der spiegelt Ihre Attribute:
Die Sharepoint-WebParts interagieren
InformationsquelleAutor der Antwort Brian Scott
BrowsableAttribute-Klasse (System.ComponentModel)
Gibt die Dokumentation:
[Browsable]
auch standardmäßig auf true....so technisch, Sie müssen nie
[Browsable(true)]
es sei denn, Sie wollen sehr explizit.InformationsquelleAutor der Antwort Justin Niessner