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.


18
Distinct () mit Lambda?
Richtig, ich habe also eine Aufzählung und möchte unterschiedliche Werte daraus ziehen. Mit System.Linqgibt es natürlich eine Erweiterungsmethode namens Distinct. Im einfachen Fall kann es ohne Parameter verwendet werden, wie zum Beispiel: var distinctValues = myStringList.Distinct(); Schön und gut, aber wenn ich eine Aufzählung von Objekten habe, für die ich …

8
Welche Methode bietet eine bessere Leistung: .Any () vs .Count ()> 0?
Im System.LinqNamespace können wir jetzt unsere IEnumerables um die Erweiterungsmethoden Any () und Count () erweitern . Mir wurde kürzlich gesagt, dass ich, wenn ich überprüfen möchte, ob eine Sammlung 1 oder mehr Elemente enthält, die .Any()Erweiterungsmethode anstelle der .Count() > 0Erweiterungsmethode verwenden sollte, da die .Count()Erweiterungsmethode alle Elemente durchlaufen …


30
Was sind Ihre bevorzugten Erweiterungsmethoden für C #? (codeplex.com/extensionoverflow)
Gesperrt . Diese Frage und ihre Antworten sind gesperrt, da die Frage nicht zum Thema gehört, aber historische Bedeutung hat. Derzeit werden keine neuen Antworten oder Interaktionen akzeptiert. Lassen Sie uns eine Liste mit Antworten erstellen, in der Sie Ihre hervorragenden und bevorzugten Erweiterungsmethoden veröffentlichen . Voraussetzung ist, dass der …





4
Code, der dem Schlüsselwort 'let' in verketteten LINQ-Erweiterungsmethodenaufrufen entspricht
Mit den Abfrageverständnisfunktionen der C # -Compiler können Sie Code wie folgt schreiben: var names = new string[] { "Dog", "Cat", "Giraffe", "Monkey", "Tortoise" }; var result = from animalName in names let nameLength = animalName.Length where nameLength > 3 orderby nameLength select animalName; Im obigen Abfrageausdruck letermöglicht das Schlüsselwort …

14
Java entspricht C # -Erweiterungsmethoden
Ich möchte eine Funktionalität in einer Objektliste wie in C # mithilfe einer Erweiterungsmethode implementieren. Etwas wie das: List<DataObject> list; // ... List initialization. list.getData(id); Wie mache ich das in Java?

6
Überladen des Operators mit C # -Erweiterungsmethoden
Ich versuche, Erweiterungsmethoden zu verwenden, um der C # StringBuilder-Klasse eine Operaterüberladung hinzuzufügen . Insbesondere StringBuilder sbwürde ich gerne sb += "text"gleichwertig werden mit sb.Append("text"). Hier ist die Syntax zum Erstellen einer Erweiterungsmethode für StringBuilder: public static class sbExtensions { public static StringBuilder blah(this StringBuilder sb) { return sb; } …

7
Verspottungserweiterungsmethoden mit Moq
Ich habe eine bereits vorhandene Schnittstelle ... public interface ISomeInterface { void SomeMethod(); } und ich habe dieses intreface mit einem mixin erweitert ... public static class SomeInterfaceExtensions { public static void AnotherMethod(this ISomeInterface someInterface) { // Implementation here } } Ich habe eine Klasse, die das nennt und die …


4
Probieren Sie Ressourcen in Kotlin aus
Als ich versuchte, ein Äquivalent eines Java try-Codes mit Ressourcen in Kotlin zu schreiben , funktionierte es bei mir nicht. Ich habe verschiedene Variationen der folgenden ausprobiert: try (writer = OutputStreamWriter(r.getOutputStream())) { // ... } Aber beides funktioniert nicht. Weiß jemand, was stattdessen verwendet werden soll? Anscheinend hat die Kotlin-Grammatik …

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.