Supongamos que tengo dos funciones que se parecen a esto:código de repetición: Llamar a funciones con un poco diferentes firmas
public static void myFunction1(int a, int b, int c, string d)
{
//dostuff
someoneelsesfunction(c,d);
//dostuff2
}
public static void myFunction2(int a, int b, int c, Stream d)
{
//dostuff
someoneelsesfunction(c,d);
//dostuff2
}
¿Cuál sería una buena manera de evitar hacerTarea repetida?
ideas que he pensado, pero no me gustan:
- que podría hacer d un objeto y fundido en RUNTYPE en función del tipo, pero esto me parece no ser ideales; elimina una comprobación de tipo que estaba ocurriendo previamente en el momento de la compilación.
- También podría escribir una clase auxiliar privada que tome un objeto y escriba ambas firmas como funciones públicas.
- Podría reemplazar dostuff y dostuff2 con delegados o llamadas a funciones o algo así.
Definitly # 2 ... 1 –