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?

132voto

Steve Cooper Punkte 18836

Meine Stimme würde ich abgeben für Conditional

[Conditional("DEBUG")]
public void DebugOnlyFunction()
{
    // your code here
}

Damit können Sie eine Funktion mit erweiterten Debugging-Funktionen hinzufügen, z. B. Debug.Write Sie wird nur in Debug-Builds aufgerufen und ermöglicht es Ihnen, komplexe Debug-Logik außerhalb des Hauptablaufs Ihres Programms zu kapseln.

98voto

Anthony Brien Punkte 5966

Ich benutze immer die DisplayName , Description y DefaultValue Attribute über öffentliche Eigenschaften meiner Benutzersteuerelemente, benutzerdefinierten Steuerelemente oder jeder Klasse, die ich über ein Eigenschaftsraster bearbeite. Diese Tags werden vom .NET PropertyGrid verwendet, um den Namen, das Beschreibungsfeld und die fettgedruckten Werte, die nicht auf die Standardwerte gesetzt sind, zu formatieren.

[DisplayName("Error color")]
[Description("The color used on nodes containing errors.")]
[DefaultValue(Color.Red)]
public Color ErrorColor
{
    ...
} 

Ich wünschte nur, Visual Studio's IntelliSense würde die Description Attribut berücksichtigt, wenn kein XML-Kommentar gefunden wird. Damit würde vermieden, dass derselbe Satz zweimal wiederholt werden muss.

69voto

Gilligan Punkte 1485

[Serializable] wird ständig für die Serialisierung und Deserialisierung von Objekten in und aus externen Datenquellen wie XML oder von einem entfernten Server verwendet. Mehr dazu hier.

57voto

Chris Wenham Punkte 22761

Im Geiste Hofstadts wird die [Attribute] Attribut ist sehr nützlich, da Sie damit Ihre eigenen Attribute erstellen können. Ich habe Attribute anstelle von Schnittstellen verwendet, um Plugin-Systeme zu implementieren, Beschreibungen zu Enums hinzuzufügen, Mehrfachversand zu simulieren und andere Tricks.

46voto

xrost Punkte 179

Hier ist der Beitrag über interessante Attribute InternalsVisibleTo . Im Grunde ahmt es die Zugriffsfunktionalität von C++-Freunden nach. Es kommt sehr praktisch für Unit-Tests.

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