2011-01-27 683 views

Respuesta

47

No especifica un tipo de devolución cuando usa métodos anónimos. Esto funcionaría:

var x = new Action(delegate(){}); 

Algunas alternativas:

Action x =() => {}; // Assuming C# 3 or higher 
Action x = delegate {}; 
Action x = delegate() {}; 
var x = (Action) (delegate{}); 
+1

@maxp, también puede usar la sintaxis como 'Acción x = delegar() {};', ¡ambas son iguales así que úselas según sus gustos! – VinayC

+0

Odio ese constructo, tentado de darte -1; P – leppie

+1

@leppie: tampoco me gusta, pero es el cambio mínimo requerido para compilar el código del OP :) Te ofreceré algunas alternativas ... –

14

Por qué no la notación lambda?

Action myAction= (Action)(()=> 
{ 
});