C# Action und Func-parameter überlast

Brauche ich eine Methode, die eine Aktion (oder eine Func), aber die Aktion hat eine gemischte Anzahl von Parametern. Was ist die geradlinig und kompakt zu implementieren, diese überlastungen:

public void Execute<T>(Action<T> action, T param) {
    //TODO: Implement something like:
    //Execute(action, param, null);
}

public void Execute<T1,T2>(Action<T1,T2> action, T1 param1, T2 param2) {
    //TODO: Implement something like:
    //Execute(action, param1, param2, null);
}

public void Execute<T1,T2,T3>(Action<T1,T2,T3> action, T1 param1, T2 param2, T3 param3) {
    DoStuff();
    action(param1, param2, param3)
    DoMoreStuff();
}

//OR any other type of higher order function-solution
public void Execute(Action action, params object[] parameters) { ... } //???

Den Inhalt, die Methoden sind genau die gleichen, außer für die Ausführung der Aktion und deren Parameter.

Wenn möglich, verwenden Sie keine C# - 4.0-spezifische Funktionen, um dieses Problem zu lösen.

InformationsquelleAutor Seb Nilsson | 2010-08-18
Schreibe einen Kommentar