jueves, julio 06, 2006

Anonymous Delegates

VS 2005 viene con 400 nuevas caracteristicas, según nos presume Microsoft. Esto es para el puro IDE, aparte de los cambios en la arquitectura del framework y sus nuevas clases

Bueno entre algunas de las mejores novedades hemos encontrado obviamente Team System, todo lo relacionado con pruebas, diagramas de clases, intellisense en la ventana del Watch del depurador, code snippets.

El framework trae un monton de novedades como generics, del que ya he escrito anteriormente (DataAccess), bueno el chiste es que aunque ya la conocíamos nunca nos había parecido util el usar delegados anónimos y hoy descubrimos lo simple y prácico que es no tener que hacer todo un metódo que estorba en tu código que contiene una línea sencilla y sólo se manda llamar desde un lugar.

Por ejemplo tenemos una lista de Threads que queremos poner a todos a correr y luego esperar a que todos terminen.

threads.ForEach(delegate(Thread thread) { thread.Start(); });
threads.ForEach(delegate(Thread thread) { thread.Join(); });

Wow!!!! antes hubieramos necesita crear dos metodos aparte nada más para hacer un thread.Start y un thread.Join para el predicate del foreach de la lista.

Bueno espero y les sea útil.

A nosotros nos hubiera ayudado mucho si se nos hubiera ocurrido usar esto para unos controles EditableGrids y EditableList que usamos para pocket pcs, que usan intensamente delegados y en la mayoría de los casos hacen cosas tan sencillas como asiganarle un valor a un textbox o realizar alguna validación sencilla.

No hay comentarios.: