0 Tage Serie
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.