2013-01-22 1 views

Antwort

23

Ich glaube nicht, dass es eine bewährte Standardmethode zu folgen ist, aber ich habe in der Regel eine von zwei Dingen:

  • Für kleinere Projekte, ich werde einfach einen „Extensions“ Ordner erstellen, und füge dort die verschiedenen Erweiterungsklassen hinzu.
  • Für größere Lösungen habe ich ein separates Projekt mit dem Namen ProjectName.Extensions, und innerhalb dieses Projekts werde ich eine Ordnerstruktur haben, die die Namespaces der Klassen widerspiegelt, die ich erweitere. Zum Beispiel:

ProjectName.Extensions/System/StringExtensions.csProjectName.Extensions/System.Web/HttpContextExtensions.cs ProjectName.Extensions/System.Xml/XmlWriterExtensions.cs

Und so weiter ...

Unabhängig davon, welcher Ansatz ich nehme, in beiden Fällen werde ich den Namen der Klasse ClassNameExtensions.cs (zB StringExtensions.cs , ListExtensions.cs, usw.).

+0

Ich mag die Antwort für den zweiten Vorschlag, Namespaces zu verwenden. Ich habe immer Zweifel gehabt, wie ich die Erweiterungsmethoden "unterbringen" kann. Bisher habe ich sie als 'Helfer' bezeichnet, zum Beispiel StringHelper.cs. Alle Arten von "Helfern" sind ein Code-Geruch in der OO-Welt, also mag ich deinen Weg mehr. –

Verwandte Themen