Als «extension-methods» getaggte Fragen

Eine Erweiterungsmethode ist eine Sprachfunktion einiger Sprachen, z. B. Swift, Visual Basic.NET und C #. Mit Erweiterungsmethoden können Sie Methoden zu vorhandenen Typen "hinzufügen", ohne einen neuen abgeleiteten Typ zu erstellen, den ursprünglichen Typ neu zu kompilieren oder auf andere Weise zu ändern.


13
Kann ich eine Zeichenfolge (in C #) „multiplizieren“?
Angenommen, ich habe eine Zeichenfolge, zum Beispiel string snip = "</li></ul>"; Ich möchte es grundsätzlich mehrmals schreiben, abhängig von einem ganzzahligen Wert. string snip = "</li></ul>"; int multiplier = 2; // TODO: magic code to do this // snip * multiplier = "</li></ul></li></ul>"; EDIT: Ich weiß, dass ich leicht meine …

2
Wie füge ich einem vorhandenen Typ in Go neue Methoden hinzu?
Ich möchte Route- gorilla/muxund Routertypen eine praktische Util-Methode hinzufügen : package util import( "net/http" "github.com/0xor1/gorillaseed/src/server/lib/mux" ) func (r *mux.Route) Subroute(tpl string, h http.Handler) *mux.Route{ return r.PathPrefix("/" + tpl).Subrouter().PathPrefix("/").Handler(h) } func (r *mux.Router) Subroute(tpl string, h http.Handler) *mux.Route{ return r.PathPrefix("/" + tpl).Subrouter().PathPrefix("/").Handler(h) } aber der Compiler informiert mich Neue Methoden für …

1
Können Erweiterungsmethoden auf Schnittstellen angewendet werden?
Ist es möglich, eine Erweiterungsmethode auf eine Schnittstelle anzuwenden? (C # Frage) Damit soll beispielsweise Folgendes erreicht werden: Erstellen Sie eine ITopology-Schnittstelle Erstellen Sie eine Erweiterungsmethode für diese Schnittstelle (z. B. public static int CountNodes (diese ITopology topologyIf)). Wenn Sie dann eine Klasse (z. B. MyGraph) erstellen, die ITopology implementiert, …

8
AddRange zu einer Sammlung
Ein Mitarbeiter hat mich heute gefragt, wie ich einer Sammlung einen Bereich hinzufügen kann. Er hat eine Klasse, die von erbt Collection<T>. Es gibt eine Get-Only-Eigenschaft dieses Typs, die bereits einige Elemente enthält. Er möchte die Objekte in einer anderen Sammlung zur Eigenschaftssammlung hinzufügen. Wie kann er das C # …

9
Wie erweitere ich eine Klasse mit c # -Erweiterungsmethoden?
Können Erweiterungsmethoden auf die Klasse angewendet werden? Erweitern Sie DateTime beispielsweise um eine Tomorrow () -Methode, die wie folgt aufgerufen werden kann: DateTime.Tomorrow(); Ich weiß, dass ich verwenden kann static DateTime Tomorrow(this Datetime value) { //... } Oder public static MyClass { public static Tomorrow() { //... } } für …


5
Verwendung von Active Support-Kernerweiterungen
Ich habe Active Support 3.0.3 und Rails 3.0.3 mit Ruby 1.8.7 installiert. Wenn ich versuche zu benutzen, 1.week.agobekomme ich NoMethodError: undefined method 'week' for 1:Fixnum from (irb):2 Die anderen Kernerweiterungen scheinen zu funktionieren. Ich habe es auf dem Computer eines Freundes versucht (dieselben Installationsspezifikationen und Legacy-Versionen sind auf seinem Computer), …

2
Wo ist die LINQ-Erweiterungsmethode „Fold“?
Ich habe in den Linq-Beispielen von MSDN eine nette Methode namens Fold () gefunden, die ich verwenden möchte. Ihr Beispiel: double[] doubles = { 1.7, 2.3, 1.9, 4.1, 2.9 }; double product = doubles.Fold((runningProduct, nextFactor) => runningProduct * nextFactor); Leider kann ich dies weder in ihrem Beispiel noch in meinem …


5
Wie kann man integrierte C # -Typen wie String erweitern?
Grüße an alle ... Ich muss Trima String. Aber ich möchte alle wiederholten Leerzeichen innerhalb des Strings selbst entfernen, nicht nur am Ende oder am Anfang. Ich könnte es mit einer Methode machen wie: public static string ConvertWhitespacesToSingleSpaces(string value) { value = Regex.Replace(value, @"\s+", " "); } Was ich von …

6
Wie verspotte ich mit Moq eine Erweiterungsmethode?
Ich schreibe einen Test, der von den Ergebnissen einer Erweiterungsmethode abhängt, aber ich möchte nicht, dass ein zukünftiger Fehler dieser Erweiterungsmethode diesen Test jemals bricht. Das Verspotten dieses Ergebnisses schien die naheliegende Wahl zu sein, aber Moq scheint keine Möglichkeit zu bieten, eine statische Methode zu überschreiben (eine Voraussetzung für …

30
Welche Vorteile von Verlängerungsmethoden haben Sie gefunden? [geschlossen]
Diese Frage passt derzeit nicht zu unserem Q & A-Format. Wir erwarten, dass die Antworten durch Fakten, Referenzen oder Fachwissen gestützt werden, aber diese Frage wird wahrscheinlich zu Debatten, Argumenten, Umfragen oder erweiterten Diskussionen führen. Wenn Sie der Meinung sind, dass diese Frage verbessert und möglicherweise erneut geöffnet werden kann, …


8
Beispiel für eine schnelle Erweiterung
Ich wollte ursprünglich wissen, wie man so etwas macht UIColor.myCustomGreen damit ich meine eigenen Farben definieren und sie in meiner App verwenden kann. Ich hatte zuvor Erweiterungen studiert und dachte, ich könnte sie wahrscheinlich verwenden, um mein Problem zu lösen, aber ich konnte mich nicht genau erinnern, wie ich Erweiterungen …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.