csharp / expert
Snippet
Generische funktionale Pipeline-Erweiterungen
Experten in C# nutzen häufig Erweiterungsmethoden, um funktionale Muster zu implementieren. Diese 'Pipe'-Methode ermöglicht die lineare Komposition von Funktionen und verwandelt eine verschachtelte Aufrufstruktur in eine lesbare Sequenz, was die Wartbarkeit verbessert und Variablen-Chaos reduziert.
snippet.cs
csharp
1
2
3
4
5
6
7
8
9
10
11
12
public static class FunctionalExtensions{// Maps an input to an output via a delegatepublic static TOut Pipe<TIn, TOut>(this TIn input, Func<TIn, TOut> transform)=> transform(input);}// Usage: Chain operations in a readable top-to-bottom flowvar result = "1234".Pipe(int.Parse).Pipe(n => n * 2).Pipe(n => $"Value: {n}");
Erklärung
1
this TIn input, Func<TIn, TOut> transform
Erweitert jeden Typ TIn um eine Methode, die eine Transformationsfunktion akzeptiert, die TOut zurückgibt.
2
.Pipe(int.Parse)
Übergibt den String '1234' direkt an die int.Parse-Methode ohne Zwischenvariablen.