csharp / intermediate
Snippet
Logik-Injektion mit Func- und Action-Delegaten
Die Verwendung von Delegaten wie Func und Action ermöglicht es, Logik als Argumente zu übergeben, was Methoden flexibel und wiederverwendbar macht, ohne Verhalten fest zu kodieren.
snippet.cs
csharp
1
2
3
4
5
6
7
8
9
10
11
public void ProcessData(int[] data, Func<int, int> transformer, Action<int> logger){foreach (var item in data){int result = transformer(item);logger(result);}}// Usage:// ProcessData(new[] {1, 2}, x => x * 10, res => Console.WriteLine(res));
Erklärung
1
Func<int, int> transformer
Ein Delegat, der ein int entgegennimmt und ein int zurückgibt.
2
Action<int> logger
Ein Delegat, der ein int entgegennimmt und void zurückgibt (nützlich für Seiteneffekte).
3
transformer(item)
Führt die injizierte Logik auf dem aktuellen Element aus.