Otra de las nuevas para VB11 es la posibilidad de combinar Lambdas e Iteradores 🙂 me encanta la dulzura de las expresiones en VB y encima incrustando XML en el editor… no todos los lenguajes pueden alardear de ellos 😉 jajajajaja.
Llevamos tiempo hablando de expresiones Lambda, y a la mayoría nos cuesta adoptar de forma natural la escritura de la mismas dentro de nuestros escenarios habituales.
El siguiente ejemplo, intenta introducir y dar coherencia a su uso, poniendo en acento en las extensiones de unión ‘Yield’ para combinar el contenido con el cuerpo de literales XML.
No olvideis el ‘Imports System.IO.Directory’ para poder llamar a la funcion ‘EnumerateFiles’.
Dim myExplorer As New WebBrowser
Dim myImageWall As XElement
Me.Controls.Add(myExplorer)
myImageWall =
<html>
<body>
<%= Iterator Function()
For Each filename In EnumerateFiles(«C:\Users\PepLluis\Pictures», «*.jpg»)
Yield <img src=<%= filename %>></img>
Next
End Function.Invoke() %>
</body>
</html>
myExplorer.DocumentText = myImageWall.ToString
Para los que lo ven todo simple es tan sencillo como incrustar sentencias y expresiones!
Espero que os guste.
PepLluis,