Esto es más una pregunta de sintaxis C# en lugar de un problema real que necesita solución. Digamos que tengo un método que toma un delegado como parámetro. Digamos que he los siguientes métodos definidos:¿Hay alguna forma de utilizar los métodos de C# directamente como delegados?
void TakeSomeDelegates(Action<int> action, Func<float, Foo, Bar, string> func)
{
// Do something exciting
}
void FirstAction(int arg) { /* something */ }
string SecondFunc(float one, Foo two, Bar three){ /* etc */ }
Ahora si quiero llamar TakeSomeDelegates
con FirstAction
y SecondFunc
como argumentos, Por lo que yo puedo decir, tengo que hacer algo como esto:
TakeSomeDelegates(x => FirstAction(x), (x,y,z) => SecondFunc(x,y,z));
¿Pero existe una forma más conveniente de usar un método que se ajuste a la firma de delegado requerida sin escribir una lambda? Idealmente algo como TakeSomeDelegates(FirstAction, SecondFunc)
, aunque obviamente eso no se compila.
"aunque obviamente eso no compila" ... eso debería compilar :) – porges
woops, realmente no tengo idea de lo que estaba haciendo mal antes, pero parece funcionar bien ahora. Supongo que esta es una pregunta muy tonta: S – guhou
Perdón por perder el tiempo chicos ... Tampoco estoy seguro de qué respuesta marcar como correcta ... ¿Debería simplemente eliminar esta pregunta? – guhou