803 Stimmen

Nützlichste Attribute

Ich weiß, dass Attribute äußerst nützlich sind. Es gibt einige vordefinierte Attribute wie [Browsable(false)] mit dem Sie Eigenschaften auf der Registerkarte "Eigenschaften" ausblenden können. Hier ist eine gute Frage zur Erklärung von Attributen: Was sind Attribute in .NET?

Welche vordefinierten Attribute (und deren Namespace) verwenden Sie tatsächlich in Ihren Projekten?

12voto

Ahmed Atia Punkte 17593

In unserem aktuellen Projekt verwenden wir

[ComVisible(false)]

Sie steuert die Zugänglichkeit eines einzelnen verwalteten Typs oder Members oder aller Typen innerhalb einer Assembly für COM.

Mehr Infos

12voto

Chris S Punkte 63542
[TypeConverter(typeof(ExpandableObjectConverter))]

Weist den Designer an, die Eigenschaften zu erweitern, die Klassen (Ihres Steuerelements) sind

[Obfuscation]

Weist Obfuscation Tools an, die angegebenen Aktionen für eine Assembly, einen Typ oder ein Member durchzuführen. (Obwohl Sie normalerweise eine Assembly-Ebene verwenden [assembly:ObfuscateAssemblyAttribute(true)]

9voto

Brannon Punkte 24857

Die Attribute, die ich am häufigsten verwende, sind die, die mit der XML-Serialisierung zusammenhängen.

XmlRoot

XmlElement

XmlAttribute

usw...

Äußerst nützlich beim schnellen und schmutzigen Parsen oder Serialisieren von XML.

8voto

ElGringoGrande Punkte 638

Als Entwickler der mittleren Ebene mag ich

System.ComponentModel.EditorBrowsableAttribute Ermöglicht es mir, Eigenschaften auszublenden, damit der UI-Entwickler nicht mit Eigenschaften überschüttet wird, die er nicht sehen muss.

System.ComponentModel.BindableAttribute Einige Dinge müssen nicht datengebunden sein. Auch hier verringert sich der Arbeitsaufwand für die UI-Entwickler.

Ich mag auch die DefaultValue die Lawrence Johnston erwähnte.

System.ComponentModel.BrowsableAttribute und die Flags regelmäßig verwendet werden.

Ich benutze System.STAThreadAttribute System.ThreadStaticAttribute wenn nötig.

Übrigens. Sie sind genauso wertvoll für alle Entwickler des .Net Frameworks.

8voto

smdrager Punkte 7057

[EditorBrowsable(EditorBrowsableState.Never)] ermöglicht es Ihnen, Eigenschaften und Methoden aus IntelliSense auszublenden, wenn das Projekt nicht in Ihrer Lösung enthalten ist. Sehr hilfreich, um ungültige Abläufe für fließende Schnittstellen auszublenden. Wie oft wollen Sie GetHashCode() oder Equals() verwenden?

Für MVC [ActionName("Name")] ermöglicht es Ihnen, eine "Get"-Aktion und eine "Post"-Aktion mit der gleichen Methodensignatur zu haben oder Bindestriche im Aktionsnamen zu verwenden, was sonst nicht möglich wäre, ohne eine Route dafür zu erstellen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X