So habe ich eine Erweiterungsmethode, die es mir erlaubt, etwas zu protokollieren, wenn eine Aktion ausgeführt wird. Die Umsetzung ist in etwa so:Gibt es eine Möglichkeit, Aktion und Aktion zu verallgemeinern <T>?
public static Action Log(this Action action, string log) {
return (() => {
Console.WriteLine(log);
action();
});
}
Aber ich will für die Aktion, damit auch ein Action<T>
zu sein. Gibt es eine Möglichkeit, dies zu verallgemeinern, so dass log
wird protokolliert, aber es ändert sich nicht die Signatur der Aktion?
Oder brauche ich 2 Methoden, eine für Action
und eine für Action<T>
?
Ja, Swift erlaubt tun das, als 'Void' ist ein Datentyp in sich. Ich habe mich gefragt, ob C# dies auch erlaubt. – vrwim