2010-03-11 10 views

Respuesta

7

¿Qué hay de:

object o = (Action) (() => { ... }); 

Aunque no se sabe muy bien por qué 'd desea almacenar como un objeto, en primer lugar ...

+0

Soy implementar una cola de mensajes para un hilo, el mando se puede poner en la cola para su ejecución. – Benny

+0

Hola, soy algo nuevo aquí. ¿Cuál es la etiqueta cuando alguien publica una respuesta idéntica mientras escribo una? ¿Debería simplemente eliminarlo? Parece algo superfluo ahora. – Spike

+0

@Benny - Si es posible, considerar el uso de una estructura genérica como '' cola de manera que las expresiones lambda no tienen que ser echado como objetos. – Greg

8

Weeeell, delega tes son objetos, pero lambdas no lo son.

Este object o = (Action)(() => {}); compilará, pero yo no sé si se ve mejor.

2

Otra opción, no muy diferente:

object o = new Action(() => { }); 
+0

En realidad, me gusta este mejor. Mentalmente me imagino la otra solución como un constructor de todos modos. Bien podría hacerlo explícito. – Spike

Cuestiones relacionadas