<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://developersdotnet.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">Miguel Angel Morán</title><subtitle type="html">Machines take me by surprise with great frecuency...</subtitle><id>http://developersdotnet.com/blogs/bichi/atom.aspx</id><link rel="alternate" type="text/html" href="http://developersdotnet.com/blogs/bichi/default.aspx" /><link rel="self" type="application/atom+xml" href="http://developersdotnet.com/blogs/bichi/atom.aspx" /><generator uri="http://communityserver.org" version="4.1.31106.3070">Community Server</generator><updated>2007-07-10T16:40:00Z</updated><entry><title>Reunión comunidad .NET y webcast</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2009/08/22/reuni-243-n-comunidad-net-y-webcast.aspx" /><id>/blogs/bichi/archive/2009/08/22/reuni-243-n-comunidad-net-y-webcast.aspx</id><published>2009-08-22T15:48:00Z</published><updated>2009-08-22T15:48:00Z</updated><content type="html">&lt;p&gt;Saludos banda, s&amp;oacute;lo para invitarles a la reuni&amp;oacute;n &lt;strong&gt;PRESENCIAL&lt;/strong&gt;&amp;nbsp;de la comunidad .NET del DF. Es el pr&amp;oacute;ximo 27 de agosto de 2009 de 7 p.m. a 9:30 p.m., los esperamos en Alfonso Esparza Oteo # 144 Despacho 608, cerca de la estaci&amp;oacute;n Olivo del metrob&amp;uacute;, a una cuadra de Insurgentes y a 2 cuadras de Plaza Inn. &lt;/p&gt;
&lt;div&gt;Se les recuerda que hay que registrarse en la siguiente direcci&amp;oacute;n: &lt;/div&gt;
&lt;div&gt;&lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032422031&amp;amp;Culture=es-MX"&gt;&lt;span style="color:#4386ce;"&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032422031&amp;amp;Culture=es-MX &lt;/span&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;&lt;span style="color:#4386ce;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;Como saben no tiene ning&amp;uacute;n costo la asistencia y los invitamos a hacer extensiva la presente invitaci&amp;oacute;n a sus amiguitos.  &lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;La agenda del d&amp;iacute;a es:&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;-Lenguajes Dinamicos en Visual Studio 2010 con Miguel Angel&amp;nbsp;Moran, servidor y amigo&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;-Inyecci&amp;oacute;n de Dependencias con Ra&amp;uacute;l Guerrero&lt;/div&gt;
&lt;p&gt;Por otro lado los invito a que asistan a este webcast, &amp;quot;MSDN - Conexi&amp;oacute;n del c&amp;oacute;digo nativo y los servicios Web utilizando la API de servicios Web de Windows &amp;quot; que dar&amp;eacute; para MSDN.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;En esta sesi&amp;oacute;n vemos c&amp;oacute;mo puede utilizar la API de servicios Web de Windows para conectar una base de c&amp;oacute;digo nativo a los servicios Web para SOAP. Analizamos los escenarios clave donde esta API aporta valor a los desarrolladores de c&amp;oacute;digo nativo, y ahondamos en c&amp;oacute;mo esta API ayuda a crear aplicaciones que aprovechan por completo el software y la plataforma de servicios Microsoft. Microsoft Visual Studio 2008 SP1 y Windows SDK para Windows 7 se utilizan en todas las demos.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Fecha: 29/09/2009 (dd/mm/yyyy).&lt;br /&gt;Hora: 16:00 (GMT-05:00 Colombia, Panama).&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032423892&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR"&gt;http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032423892&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Salu2&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=451" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author><category term="Reuni&amp;#243;n comunidad" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Reuni_26002300_243_3B00_n+comunidad/default.aspx" /><category term="Eventos" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Eventos/default.aspx" /><category term="MSDN" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/MSDN/default.aspx" /><category term=".NET 4.0" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/.NET+4.0/default.aspx" /></entry><entry><title>Sharepoint: Mi único punto de vista oficial</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2009/08/03/sharepoint-mi-250-nico-punto-de-vista-oficial.aspx" /><id>/blogs/bichi/archive/2009/08/03/sharepoint-mi-250-nico-punto-de-vista-oficial.aspx</id><published>2009-08-04T02:17:00Z</published><updated>2009-08-04T02:17:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style="margin-top:0in;unicode-bidi:embed;font-family:Calibri;direction:ltr;margin-bottom:0in;margin-left:0.397in;font-size:11pt;"&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;text-decoration:underline;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;text-decoration:underline;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;SharePoint.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;text-decoration:underline;"&gt;Mi &amp;uacute;nico comentario&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;text-decoration:underline;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Uso el twitter como un confidente virtual, en &amp;eacute;l generalmente pongo cosas poco relevantes de mi vida, desde mis corajes con los franeleros, hasta las canciones que canto al trabajar, poemitas lerdos y pensamientos aleatorios. En ocasiones he twitteado sobre SharePoint y las frustraciones con las que me he encontrado como desarrollador, o al enfrentarme con los requerimientos del usuario aplicados a SharePoint.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Derivado de estos twitts he recibido ya varios comentarios de mis frustraciones al desarrollar con SharePoint y creo que ante esto, lo menos que puedo hacer es justificar desde un punto de vista t&amp;eacute;cnico lo que a mi NO me gusta de SharePoint y tambi&amp;eacute;n lo que S&amp;Iacute; me gusta del mismo.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Creo que es necesaria una clarificaci&amp;oacute;n, sin duda alguna es TOTALMENTE INJUSTO decir que SharePoint apesta por el s&amp;oacute;lo hecho de decirlo. Mi contexto es que al ser una persona que durante 13 a&amp;ntilde;os ha dedicado su vida profesional&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;a trabajar con la plataforma Microsoft, SharePoint, se ha convertido en el primer (y &amp;uacute;nico) producto al cual le pido mucho m&amp;aacute;s de lo que tiene, insisto como plataforma de desarrollo, no como producto Out of the box. No es una satanizaci&amp;oacute;n del producto ni mucho menos.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Este post tiene como objetivo clarificar mi visi&amp;oacute;n y mi propuesta sobre SharePoint. Un producto tan exitoso como controvertido, excelentemente posicionado y que sigue con una inercia impresionante implant&amp;aacute;ndose en muchas organizaciones.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Debo empezar con algo:&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;SharePoint (tanto WSS como MOSS) es un &lt;span style="font-weight:bold;text-decoration:underline;"&gt;EXCELENTE&lt;/span&gt; producto para usuario final, en minutos es posible crear intranets completas, colaborativas, b&amp;uacute;squedas empresariales, calendarios, documentos, flujos de trabajo y muchas cosas m&amp;aacute;s sin una s&amp;oacute;la l&amp;iacute;nea de c&amp;oacute;digo.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;SharePoint es una plataforma habilitadora para la colaboraci&amp;oacute;n, creo que la competencia de Microsoft no tiene algo similar. SharePoint es un cohete para generar intranets y hasta sitios web en cuesti&amp;oacute;n completamente funcionales en cuesti&amp;oacute;n no de d&amp;iacute;as, sino de horas. SharePoint es un HABILITADOR de automatizaci&amp;oacute;n y del trabajo en equipo mediante el uso de la tecnolog&amp;iacute;a&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;En el lugar donde se me emplea, se usa SharePoint para el control de las horas y el presupuesto, he vendido SharePoint en muchas empresas como la base tecnol&amp;oacute;gica para sus necesidades de colaboraci&amp;oacute;n. Cuando se trata de colaborar o de hacer intranets, mi primera opci&amp;oacute;n siempre es recomendar SharePoint, estoy totalmente convencido, he hecho muchas propuestas a grandes organizaciones proponiendo SharePoint como su plataforma de colaboraci&amp;oacute;n. El ecosistema modular de SharePoint (MOSS, Forms, PerformancePoint, Project Server, ahora hasta Commerce Server y un largo etc.) utiliza la plataforma WSS para generar aplicaciones funcionales en cuesti&amp;oacute;n de horas, crece y se ajusta a las necesidades de la empresa.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Adem&amp;aacute;s de esto Microsoft ha hecho otro EXCELENTE trabajo al posicionar la plataforma en muchas empresas y cada vez es m&amp;aacute;s el furor por esta plataforma, que independientemente de la mercadotecnia, es un gran producto colaborativo, y as&amp;iacute; de sencillo: EL MEJOR (Notes, Domino, Community Server, Opengroupware y muchas otras plataformas se quedan totalmente cortas ante el poder habilitador de SharePoint)&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;SharePoint es, desde mi punto de vista, una idea maravillosa, hecha realidad en muchos aspectos. Pero &amp;iquest;qu&amp;eacute; le hace falta para convertirse en una verdadera plataforma de desarrollo?&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Yo opino que es HACER AMIGABLE SHAREPOINT AL DESARROLLADOR. No hablo del producto ni de la idea. Hablo exclusivamente de la experiencia del developer con la plataforma.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;SharePoint es una excelente herramienta, pero cuando hay que llevar m&amp;aacute;s all&amp;aacute; un requerimiento al funcionamiento out of the box, uno tiene que convertirse en un verdadero experto y conocer las tripas tripas tripas del producto, lo cual no es malo, pero sin duda impedir&amp;aacute; el posicionamiento de MOSS/WSS como una verdadera plataforma de desarrollo.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;iquest;Qu&amp;eacute; peros le veo al producto como plataforma de desarrollo?&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle;"&gt;&lt;span style="font-family:Calibri;font-size:11pt;"&gt;Es necesario programar en una versi&amp;oacute;n de servidor de Windows. Esto es complicado, ya que en muchos corporativos (lo digo porque ya van 3 veces que me pasa) hay pol&amp;iacute;ticas restrictivas&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;respecto a las computadoras y no se pueden estar levantando ambientes a la ligera.&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle;"&gt;&lt;span style="font-family:Calibri;font-size:11pt;"&gt;Nativamente la programaci&amp;oacute;n nunca es visual (hay parches de terceros como smartpart por ejemplo) pero generalmente todo es &amp;quot;a manita&amp;quot;&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle;"&gt;&lt;span style="font-family:Calibri;font-size:11pt;"&gt;La instalaci&amp;oacute;n de un cambio, feature, workflow etc. es una experiencia complicada, desde&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;los archivos de configuraci&amp;oacute;n y xml, los strong names, el stsadm y su gran n&amp;uacute;mero de modificadores. &lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle;"&gt;&lt;span style="font-family:Calibri;font-size:11pt;"&gt;El modelo de objetos es confuso, recibir GUIDS como par&amp;aacute;metros para casi todo es una experiencia complicad&amp;iacute;sima y poco amigable, cosas realmente triviales se convierten en complicadas. Caso de ejemplo: El comportamiento de los calendarios de Sharepoint, permite nativamente introducir muchas citas al mismo tiempo, sin embargo el requerimiento dice que s&amp;oacute;lo se puede agendar una cita simult&amp;aacute;nea. &amp;iquest;Se oye complicado el requerimiento?... Bueno, la soluci&amp;oacute;n a algo tan trivial, en SharePoint se convierte a algo m&amp;aacute;s o menos as&amp;iacute;:&lt;/span&gt;&lt;/li&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;using&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;System; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;002.&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;using&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;Microsoft.SharePoint; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;003.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;004.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;005.&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;namespace&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;Webcoda.WSS.Calendar.Events &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;006.&lt;/span&gt;&lt;span style="color:black;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;007.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;class&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;PreventDoubleBooking: SPItemEventReceiver &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;008.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;009.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:gray;"&gt;/// &amp;lt;summary&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;010.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:gray;"&gt;/// This event is triggered when the user adds a new item &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;011.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:gray;"&gt;/// &amp;lt;/summary&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;012.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:gray;"&gt;/// &amp;lt;param name=&amp;quot;properties&amp;quot;&amp;gt;&amp;lt;/param&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;013.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;public&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;override&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;void&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;ItemAdding(SPItemEventProperties properties) &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;014.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;015.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Our query string variable &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;016.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;strQuery = &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;null&lt;/span&gt;&lt;span style="color:black;"&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;017.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;018.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;try&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;019.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;020.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Get the Sharepoint site instance &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;021.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;using&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(SPWeb oWebsite = &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;new&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;SPSite(properties.SiteId).OpenWeb(properties.RelativeWebUrl)) &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;022.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;023.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;024.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Get the collection of properties for the Booking item &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;025.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;SPListItemCollection collItems = oWebsite.Lists[properties.ListTitle].Items; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;026.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;027.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Get the Calendar List that we will be querying against &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;028.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;SPList calendar = oWebsite.Lists[properties.ListId]; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;029.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;030.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Get the internal name of the fields we are querying.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;031.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//These are required for the CAML query &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;032.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;start_internal = collItems.List.Fields[&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;Start Time&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;].InternalName; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;033.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;end_internal = collItems.List.Fields[&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;End Time&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;].InternalName; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;034.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;MeetingRoom_Internal = collItems.List.Fields[&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;Meeting Room&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;].InternalName; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;035.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;036.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Get the query string parameters &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;037.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;start_str = properties.AfterProperties[start_internal].ToString(); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;038.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;end_str = properties.AfterProperties[end_internal].ToString(); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;039.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;MeetingRoom_str = properties.AfterProperties[MeetingRoom_Internal].ToString(); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;040.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;041.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Construct a CAML query &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;042.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;SPQuery query = &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;new&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;SPQuery(); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;043.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;044.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Create the CAML query string that checks to see if the booking we are attemping &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;045.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//to add will overlap any existing bookings &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;046.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;strQuery = &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:black;"&gt;.Format(@&amp;quot; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;047.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;048.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Where&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;049.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;050.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;051.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Or&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;052.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;053.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Or&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;054.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;055.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Leq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;056.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EventDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;057.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{0}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;058.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Leq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;059.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;060.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Gt&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;061.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EndDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;062.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{0}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;063.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Gt&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;064.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;065.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;066.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;067.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Lt&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;068.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EventDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;069.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{1}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;070.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Lt&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;071.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;072.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Geq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;073.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EndDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;074.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{1}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;075.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Geq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;076.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;077.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Or&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;078.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;079.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Or&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;080.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;081.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Leq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;082.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EventDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;083.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{0}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;084.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Leq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;085.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;086.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Geq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;087.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EndDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;088.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{1}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;089.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Geq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;090.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;091.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;092.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;093.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Geq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;094.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EventDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;095.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{0}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;096.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Geq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;097.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;098.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Leq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;099.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EndDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;100.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{1}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;101.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Leq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;102.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;103.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Or&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;104.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;105.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Or&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;106.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;107.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Eq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;108.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;Meeting_x0020_Room&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;109.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;Choice&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{2}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;110.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Eq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;111.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;112.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;113.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;114.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Where&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;115.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;OrderBy&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;116.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EventDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;117.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/OrderBy&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;118.&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;quot;, start_str, end_str, MeetingRoom_str); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;119.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;120.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Set the query string for the SPQuery object &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;121.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;query.Query = strQuery; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;122.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;123.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Execute the query against the Calendar List &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;124.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;SPListItemCollection existing_events = calendar.GetItems(query); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;125.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;126.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Check to see if the query returned any overlapping bookings &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;127.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;if&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(existing_events.Count &amp;gt; 0) &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;128.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;129.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Cancels the ItemAdd action and redirects to error page &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;130.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;properties.Cancel = &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;131.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;132.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Edit the error message that will display on the error page &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;133.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;properties.ErrorMessage += &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;This booking cannot be made because of one or more bookings in conflict. &amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;134.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;135.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Here you can loop through the results of the query &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;136.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//foreach (SPListItem oListItem in existing_events) &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;137.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//{ &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;138.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//&amp;nbsp;&amp;nbsp; .... &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;139.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//} &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;140.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;141.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;properties.ErrorMessage += &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;Please go back and schedule a new time.&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;142.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;143.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;144.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;145.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;146.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;catch&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(Exception ex) &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;147.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;148.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Cancels the ItemAdd action and redirects to error page &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;149.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;properties.Cancel = &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;150.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;151.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Edit the error message that will display on the error page &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;152.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;properties.ErrorMessage = &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;Error looking for booking conflicts: &amp;quot;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;+ ex.Message; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;153.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;154.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;155.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;156.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;157.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:gray;"&gt;/// &amp;lt;summary&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;158.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:gray;"&gt;/// This event is triggered when the user edits an calendar item &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;159.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:gray;"&gt;/// &amp;lt;/summary&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;160.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:gray;"&gt;/// &amp;lt;param name=&amp;quot;properties&amp;quot;&amp;gt;&amp;lt;/param&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;161.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;public&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;override&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;void&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;ItemUpdating(SPItemEventProperties properties) { &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;162.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;163.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;strQuery = &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;null&lt;/span&gt;&lt;span style="color:black;"&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;164.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;165.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;try&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;166.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;167.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Get the Sharepoint site instance &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;168.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;using&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(SPWeb oWebsite = &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;new&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;SPSite(properties.SiteId).OpenWeb(properties.RelativeWebUrl)) { &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;169.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;170.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Get the collection of properties for the Booking item &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;171.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;SPListItemCollection collItems = oWebsite.Lists[properties.ListTitle].Items; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;172.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;173.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Get the Calendar List that we will be querying against &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;174.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;SPList calendar = oWebsite.Lists[properties.ListId]; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;175.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;176.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Get the internal name of the fields we are querying.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;177.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//These are required for the CAML query &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;178.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;start_internal = collItems.List.Fields[&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;Start Time&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;].InternalName; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;179.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;end_internal = collItems.List.Fields[&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;End Time&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;].InternalName; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;180.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;MeetingRoom_Internal = collItems.List.Fields[&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;Meeting Room&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;].InternalName; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;181.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;guid_internal = collItems.List.Fields[&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;GUID&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;].InternalName; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;182.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;183.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Get the query string parameters &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;184.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;start_str = properties.AfterProperties[start_internal].ToString(); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;185.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;end_str = properties.AfterProperties[end_internal].ToString(); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;186.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;MeetingRoom_str = properties.AfterProperties[MeetingRoom_Internal].ToString(); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;187.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;guid_str = properties.AfterProperties[guid_internal].ToString(); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;188.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;189.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Construct a CAML query &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;190.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;SPQuery query = &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;new&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;SPQuery(); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;191.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;192.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Create the CAML query string that checks to see if the booking we are attemping &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;193.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//to change will overlap any existing bookings, OTHER THAN ITSELF &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;194.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;strQuery = &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;string&lt;/span&gt;&lt;span style="color:black;"&gt;.Format(@&amp;quot; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;195.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;196.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Where&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;197.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;198.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;199.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;200.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Or&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;201.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;202.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Or&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;203.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;204.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Leq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;205.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EventDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;206.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{0}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;207.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Leq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;208.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;209.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Gt&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;210.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EndDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;211.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{0}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;212.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Gt&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;213.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;214.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;215.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;216.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Lt&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;217.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EventDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;218.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{1}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;219.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Lt&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;220.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;221.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Geq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;222.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EndDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;223.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{1}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;224.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Geq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;225.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;226.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Or&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;227.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;228.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Or&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;229.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;230.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Leq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;231.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EventDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;232.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{0}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;233.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Leq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;234.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;235.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Geq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;236.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EndDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;237.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{1}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;238.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Geq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;239.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;240.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;241.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;242.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Geq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;243.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EventDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;244.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{0}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;245.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Geq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;246.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;247.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Leq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;248.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EndDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;249.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;DateTime&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;IncludeTimeValue=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;TRUE&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{1}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;250.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Leq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;251.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;252.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Or&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;253.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;254.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Or&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;255.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;256.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Eq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;257.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;Meeting_x0020_Room&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;258.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;Choice&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{2}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;259.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Eq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;260.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;261.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;262.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;263.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Neq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;264.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;GUID&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;265.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;Value Type=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;GUID&amp;#39;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;gt;{3}&amp;lt;/Value&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;266.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Neq&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;267.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;268.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/And&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;269.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;270.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/Where&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;271.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;272.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;OrderBy&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;273.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;FieldRef Name=&lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;#39;EventDate&amp;#39;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;/&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;274.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;lt;/OrderBy&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;275.&lt;/span&gt;&lt;span style="color:black;"&gt;&amp;quot;, start_str, end_str, MeetingRoom_str, guid_str); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;276.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;277.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Set the query string for the SPQuery object &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;278.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;query.Query = strQuery; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;279.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;280.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Execute the query against the Calendar List &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;281.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;SPListItemCollection existing_events = calendar.GetItems(query); &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;282.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;283.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Check to see if the query returned any overlapping bookings &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;284.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;if&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(existing_events.Count &amp;gt; 0) { &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;285.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;286.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Cancels the ItemAdd action and redirects to error page &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;287.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;properties.Cancel = &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;288.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;289.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Edit the error message that will display on the error page &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;290.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;properties.ErrorMessage += &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;This booking cannot be made because of one or more bookings in conflict. &amp;lt;BR&amp;gt;&amp;lt;BR&amp;gt;&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;291.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;292.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Here you can loop through the results of the query &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;293.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//foreach (SPListItem oListItem in existing_events) &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;294.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//{ &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;295.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//&amp;nbsp;&amp;nbsp; .... &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;296.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//} &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;297.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;298.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;properties.ErrorMessage += &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;Please go back and schedule a new time.&amp;quot;&lt;/span&gt;&lt;span style="color:black;"&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;299.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;300.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;301.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;302.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;} &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;catch&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;(Exception ex) { &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;303.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;304.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Cancels the ItemAdd action and redirects to error page &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;305.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;properties.Cancel = &lt;/span&gt;&lt;span style="color:#006699;font-weight:bold;"&gt;true&lt;/span&gt;&lt;span style="color:black;"&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;306.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;307.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#008200;"&gt;//Edit the error message that will display on the error page &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;308.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;properties.ErrorMessage = &lt;/span&gt;&lt;span style="color:blue;"&gt;&amp;quot;Error looking for booking conflicts: &amp;quot;&lt;/span&gt;&lt;span style="color:#333333;"&gt; &lt;/span&gt;&lt;span style="color:black;"&gt;+ ex.Message; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;309.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;310.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;311.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;312.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;color:#333333;font-size:10pt;"&gt;313.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;314.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:black;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Consolas;font-size:10pt;"&gt;&lt;span style="color:#333333;"&gt;315.&lt;/span&gt;&lt;span style="color:black;"&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Tahoma;color:#666666;font-size:8pt;"&gt;Copiado del sitio:&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;a href="http://blog.sharepointsydney.com.au/post/Setting-up-multiple-calendars-for-meeting-room-bookings-prevent-double-booking.aspx"&gt;http://blog.sharepointsydney.com.au/post/Setting-up-multiple-calendars-for-meeting-room-bookings-prevent-double-booking.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Desde mi punto de vista c&amp;oacute;digos como el anterior son completamente improductivos y hablan de la complejidad del modelo de programaci&amp;oacute;n de SP.&lt;/p&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle;"&gt;&lt;span style="font-family:Calibri;font-size:11pt;"&gt;CAML &amp;iquest;CAML? Para qu&amp;eacute; un lenguaje adicional para hacer Querys. (adem&amp;aacute;s complicado y poco natural) Commerce Server, tambien de MS, por ejemplo utiliza en su modelo de objetos una funci&amp;oacute;n .Where donde se pasa como par&amp;aacute;metro algo semejante a T-SQL, lo cual reutiliza el conocimiento del programador &amp;iquest;Para que OTRO lenguaje? No ya es suficientemente dif&amp;iacute;cil conocer asp.net, c#, javascript, css, xaml, html, xhtml, xml, sql, xpath, xquery y muchos m&amp;aacute;s para programar una p&amp;aacute;gina web &amp;iquest;necesitamos OTRO lenguajito basado en XML?. Esto va precisamente en contra de la propuesta de LINQ:&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Dotar de nuevo a los lenguajes de programaci&amp;oacute;n la sintaxis necesaria para interactuar con objetos de la capa de datos.&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle;"&gt;&lt;span style="font-family:Calibri;font-size:11pt;"&gt;Poca o nula integraci&amp;oacute;n a Visual Studio, hay que bajar plugins para el poco soporte que existe&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle;"&gt;&lt;span style="font-family:Calibri;font-size:11pt;"&gt;El debuggeo es tambi&amp;eacute;n muy complicado, estarse atacheando a procesos del server es poco natural y como quiera que sea, S&amp;Iacute; QUITA TIEMPO.&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle;"&gt;&lt;span style="font-family:Calibri;font-size:11pt;"&gt;Cuando truena&amp;hellip; TRUENA, y da mensajes de error super cr&amp;iacute;pticos, como una gran caja negra, hay que meterse a los logs, que tampoco dan mucha informaci&amp;oacute;n.&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle;"&gt;&lt;span style="font-family:Calibri;font-size:11pt;"&gt;A nivel de dise&amp;ntilde;o gr&amp;aacute;fico la personalizaci&amp;oacute;n es complicada. &lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle;"&gt;&lt;span style="font-family:Calibri;font-size:11pt;"&gt;Hacer algo m&amp;aacute;s all&amp;aacute; de una simple forma de captura en infopath se vuelve una experiencia tortuosa, hacer que infopath tenga fuentes de datos y muestre din&amp;aacute;micamente&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;controles se vuelve un mar de clics clics y clics que se desconfiguran al hacer un deployment de la aplicaci&amp;oacute;n y hay que volver a hacer todo otra vez.&lt;/span&gt;&lt;/li&gt;
&lt;li style="margin-top:0px;margin-bottom:0px;vertical-align:middle;"&gt;&lt;span style="font-family:Calibri;font-size:11pt;"&gt;Eso de usar SharePoint Designer para una cosa, Visual Studio para otra, una herramienta 3rd party para el CAML, otra 3rd party para el attacheo de eventos, y el Notepad para los .bats de deployment huele como a trabajar en Eclipse /Java donde se requiere un programita de diferente proveedor para cada cosa. Esto siempre critico. El poder de la plataforma MS es precisamente la maravillosa integraci&amp;oacute;n de sus productos.&lt;/span&gt;&lt;/li&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Estos y muchos temas m&amp;aacute;s se han discutido ya mucho en Internet, hay muchos posts debatiendo esto y estas razones han sido discutidas 50000 veces antes de esto. Este post no es investigativo, es una reflexi&amp;oacute;n personal.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Yo siempre he dicho (por eso mi afici&amp;oacute;n a VB y a proyectos como Astoria, entity framework, jasper etc) que a estas alturas ya no podemos permitir que los desarrolladores pasen una gran cantidad de tiempo investigando c&amp;oacute;mo hacer las cosas. Los desarrolladores cuestan dinero, y mucho. Una de las caracter&amp;iacute;sticas de la plataforma Microsoft ha sido facilitar enormemente la tarea del desarrollador con tecnolog&amp;iacute;as de alto desempe&amp;ntilde;o e intuitivas.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Con sharepoint es posible generar de una manera r&amp;aacute;pida y efectiva intranets , el &amp;uacute;nico problema se da cuando por requerimiento del usuario se necesita extender la funcionalidad ya incluida dentro de la plataforma, entonces es cuando entra al rol del desarrollador y todo el tiempo que se gana al implementar la intranet de una manera r&amp;aacute;pida puede perderse cuando el equipo de desarrollo tiene que estar batallando con c&amp;oacute;digos como el de arribal.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;El objetivo de este pots insisto, es meramente propositivo, RECALCO OTRA VEZ SHAREPOINT ES UN EXCELENTE PRODUCTO. Lo &amp;uacute;nico que digo es que Microsoft deber&amp;iacute;a invertir m&amp;aacute;s en en Sharepoint una verdadera plataforma de desarrollo amigable con las nuevas tendencias tecnol&amp;oacute;gicas que aparecen dentro de la siguiente entrega de Visual studio y en general de la plataforma. Net , no s&amp;eacute; porque tengo la impresi&amp;oacute;n de que los equipos de ASP.NET y Sharepoint no se comunican.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Yo me imagino a un Sharepoint m&amp;aacute;s integrado con el IDE de VS, con un modelo basado en objetos o en WSDL mucho m&amp;aacute;s simple, que explotara LINQ, entity framework y los pusiera como provedores de datos, algo que se pareciera m&amp;aacute;s al enterprise library, con menos complejidad en todos los aspectos.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Conclusi&amp;oacute;n:&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;SharePoint es una plataforma efectiva y poderosa de colaboraci&amp;oacute;n. El retorno de inversi&amp;oacute;n en Intranets peque&amp;ntilde;as/medianas es excelente. Es un maravilloso habilitador del trabajo en equipo. Para consolidar a SharePoint como una plataforma sustentable que crezca con el negocio y sea f&amp;aacute;cilmente extendible, es necesaria m&amp;aacute;s inversi&amp;oacute;n desde el punto de vista del desarrollador. Desde mi HUMILDE opini&amp;oacute;n, le falta el toque que caracteriza a la tecnolog&amp;iacute;a Microsoft: hacer la vida m&amp;aacute;s facil al desarrollador, por eso amo .NET por eso estoy convencido de que .NET es superior en casi todo a su competencia, y creo que C# 4.0 es el MEJOR lenguaje disponible en el mercado.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;Espero que Sharepoint 2010, otorgue &amp;eacute;se &amp;quot;algo&amp;quot; que le falta como una verdadera experiencia de developer, si es as&amp;iacute;, en este espacio escribir&amp;eacute; al respecto.&lt;/p&gt;
&lt;p style="margin:0in;font-family:Calibri;font-size:11pt;"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=450" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author><category term="WSS" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/WSS/default.aspx" /><category term="MOSS" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/MOSS/default.aspx" /><category term="Sharepoint" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Sharepoint/default.aspx" /></entry><entry><title>Webcasts en MSDN de Microsoft</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2009/04/05/webcasts-en-msdn-de-microsoft.aspx" /><id>/blogs/bichi/archive/2009/04/05/webcasts-en-msdn-de-microsoft.aspx</id><published>2009-04-06T00:53:00Z</published><updated>2009-04-06T00:53:00Z</updated><content type="html">&lt;p class="pageTitle"&gt;Los invito cordialmente a que me acompa&amp;ntilde;en a los siguientes webcasts que estar&amp;eacute; dando para el MSDN de Microsoft.&lt;/p&gt;
&lt;h4&gt;Webcast MSDN: Base de datos de SQL Server para la Plataforma de datos &amp;ndash; Transite del servidor a los dispositivos y a la nube&lt;/h4&gt;
&lt;p&gt;mi&amp;eacute;rcoles, 08 de abril de 2009 &lt;/p&gt;
&lt;p&gt;Los servicios de datos basados en la nube cambiar&amp;aacute;n la forma en que usted desarrolla e implementa aplicaciones y las tecnolog&amp;iacute;as SQL Server evolucionan para ayudarle a integrar soluciones impulsadas por datos que abarcan dispositivos, escritorios, servidores y la nube. Descubra la forma de usar l Marco de servicios de datos ADO.NET (nombre de c&amp;oacute;digo &amp;quot;Astoria&amp;quot;), SQL Server Data Services (SSDS) y Microsoft Sync Framework.&lt;/p&gt;
&lt;p&gt;Aqu&amp;iacute; est&amp;aacute; la liga &lt;a href="http://tinyurl.com/c8wboq" title="http://tinyurl.com/c8wboq"&gt;&lt;span style="color:#0065e2;"&gt;http://tinyurl.com/c8wboq&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Webcast MSDN - Programar Live Services usando tecnolog&amp;iacute;as distintas a Microsoft &lt;/h4&gt;
&lt;p&gt;Los bloques de construcci&amp;oacute;n de Live Services exponen un modelo de programaci&amp;oacute;n independiente de plataformas, neutral al lenguaje y basado en protocolos. El marco se dise&amp;ntilde;&amp;oacute; bajo el concepto de obtener-seguir para no estar atado a ninguna tecnolog&amp;iacute;a (Microsoft u otra) o implementaci&amp;oacute;n espec&amp;iacute;fica de plataforma. &lt;/p&gt;
&lt;p&gt;Fecha: &lt;strong&gt;23/04/2009&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Y aqu&amp;iacute; est&amp;aacute; la liga:&amp;nbsp; &lt;a href="http://tinyurl.com/d336ae"&gt;&lt;span style="color:#0065e2;"&gt;http://tinyurl.com/d336ae&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;No falten, se van a poner muy buenos, los webcasts, no ustesdes&amp;hellip; :)&lt;/p&gt;
&lt;p&gt;Miguel A. Mor&amp;aacute;n&lt;br /&gt;MVP C# &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=422" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author><category term="ADO.NET" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/ADO.NET/default.aspx" /><category term="Astoria" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Astoria/default.aspx" /><category term="ssds" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/ssds/default.aspx" /><category term="cloud computing" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/cloud+computing/default.aspx" /></entry><entry><title>Introducción a los lenguajes dinámicos con C# 4.0 y sus aplicaciones</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2008/11/27/introducci-243-n-a-los-lenguajes-din-225-micos-con-c-4-0-y-sus-aplicaciones.aspx" /><id>/blogs/bichi/archive/2008/11/27/introducci-243-n-a-los-lenguajes-din-225-micos-con-c-4-0-y-sus-aplicaciones.aspx</id><published>2008-11-27T19:19:57Z</published><updated>2008-11-27T19:19:57Z</updated><content type="html">&lt;p&gt;&amp;nbsp; &lt;p align="justify"&gt;Los lenguajes dinámicos, en pocas palabras, son la neta. Mi entusiasmo a este tipo de programación siempre ha sido evidente por el poder que representa para el programador. De ahí mi gusto siempre desenfrenado por Visual Basic, dada su implementación rudimentaria de dinamismo (el famoso late binding) y las cosas que podíamos hacer con COM desde épocas inmemorables, ya platicaremos en un momento más al respecto de ésto.  &lt;p align="justify"&gt;Pero vamos por partes.  &lt;p align="justify"&gt;En este artículo aprenderemos que son y para qué sirven estos lenguajes y trato de explicar muchos conceptos básicos (y quizá alguno no tan básico) sobre ella, además de ver la implementación ya posible con C# 4.0  &lt;p align="justify"&gt;Espero que este artículo sea del gusto de todos ustedes y que sirva como punto de inicio para prepararnos (o reencontrarnos) con las delicias de la programación dinámica.  &lt;p align="justify"&gt;&lt;b&gt;Antecedentes:&lt;/b&gt;  &lt;p align="justify"&gt;Anders Helsberg anunció C# 4.0 en el PDC 2008, C# 4.0 representa un paso más en la evolución de C#. Los milestones, o las características principales de C# son los siguientes  &lt;p align="justify"&gt;· C#1.0: La primera versión de nuestro querido lenguaje de programación creado específicamente para la plataforma .NET  &lt;p align="justify"&gt;· C#2.0: Más funcionalidad con tipos de datos genéricos, tipos anulables, métodos anónimos y algunas otras delicias sintácticas  &lt;p align="justify"&gt;· C# 3.0: Inicializadores de objetos, expresiones lambda, árboles de expresiones, métodos de extensión entre otras cosas, todo esto para lograr desde luego el soporte a LINQ.  &lt;p align="justify"&gt;· C#4.0: Programación dinámica y quizás la posibilidad de compilador como servicio (quizás porque Microsoft no ha anunciado nada hasta el momento, quizás sea parte de C#4.0 o quizás tengamos que esperar hasta la siguiente versión)  &lt;p align="justify"&gt;Así que lo más destacado de la versión 4.0 de C# es la posibilidad de manejar tipos dinámicos, lo cual explicaremos a continuación  &lt;p align="justify"&gt;&lt;b&gt;¿Qué es un lenguaje dinámico?&lt;/b&gt;  &lt;p align="justify"&gt;Un lenguaje dinámico, en pocas palabras es un lenguaje que en tiempo de ejecución realiza cosas que tradicionalmente se harían en tiempo de compilación. Entre estas cosas tenemos:  &lt;p align="justify"&gt;1) Parseo (Análisis) de expresiones: Es poder enviar al lenguaje generalmente una cadena y que el tiempo de ejecución lo interprete como código ejecutable en el acto. Si les viene a la mente la función Eval() de Javascript, están en lo cierto, es exactamente eso.  &lt;p align="justify"&gt;2) Verificación de tipos de datos. Si en C# tratamos de sumar perros, con enteros, con cadenas y con gatos, el compilador nativamente nos daría un error en tiempo de compilación la mayoría de las veces (digo la mayoría porque en tiempos de las primeras versiones de C# cuando no había tipos genéricos podíamos hacer operaciones de este tipo y recibir el tronido hasta que el programa ya estaba corriendo juar juar). Con un lenguaje dinámico podemos definir las reglas para manejar tipos de datos heterogéneos. Además es posible hacer el binding de un objeto a una variable  &lt;p align="justify"&gt;3) Redefinición y alteración a los tipos: En los lenguajes tradicionales (no dinámicos) una vez que hemos definido un tipo es imposible cambiarlo. Sí sí claro algunos de ustedes dirán que no es necesario toda vez que puedo definir contratos mediante interfaces y clases abstractas y meter cualquier tipo de información en estas plantillas y así ya queda, pero recordemos: Las interfaces y las clases abstractas no son en runtime, es decir, no puedo alterar el contrato una vez definido, además de que debo escribir una gran bola de código para definir estas estructuras. Lenguajes como Phyton o Ruby permiten nativamente esto, y C# 4.0 también, como lo veremos en éste artículo  &lt;p align="justify"&gt;4) Emisión de bloques ejecutables: Esto se refiere a código que genera código. Se implementa mediante closures y funciones de orden superior, esto es parcialmente posible en C# mediante funciones de orden superior y expresiones lambda (ver más en mi artículo publicado en la revista Software Gurú)  &lt;p align="justify"&gt;¿Y para qué sirve todo esto? Los lenguajes dinámicos facilitan enormemente la labor del programador haciéndolo más productivo, ayudándolo entre otras cosas con:  &lt;p align="justify"&gt;· Permiten la carga de tipos de datos desde estructuras externas (como por ejemplo un archivo en XML o en JSON) y usar sintaxis nativa de atributo para asignar o leer información  &lt;p align="justify"&gt;· Permiten usar datos sin necesidad de definir contratos (las interfaces, precisamente son el paliativo de la estaticidad de C#)  &lt;p align="justify"&gt;· Fomentan el bajo acoplamiento (No tengo que tener referencias a bibiliotecas de tipo, que si cambian, me hacen recompilar el código)  &lt;p align="justify"&gt;· Eliminan las bibliotecas de tipos y/o intefaces  &lt;p align="justify"&gt;· Eliminan las referencias circulares (molesto y horrible dolor de cabeza)  &lt;p align="justify"&gt;· Disminuyen la cantidad de código requerido  &lt;p align="justify"&gt;· Evalúan en tiempo real fórmulas y código (por ejemplo para los molestos cálculos de nómina, dado que las leyes fiscales cambian constantemente)  &lt;p align="justify"&gt;· Facilitan la creación de alfabetos finitos con significado para nuestro programa  &lt;p align="justify"&gt;· Modifican el comportamiento de un proceso o flujo de trabajo en tiempo real sin necesidad de recompilar  &lt;p align="justify"&gt;· Dan la posibilidad de generar un “polimorfismo extremo” dirigido por los datos, esto es, permiten que un tipo de datos mute (o sea que se le agregue comportamiento o estado en tiempo de ejecución) en cualquier momento  &lt;p align="justify"&gt;· Facilitan la metaprogramación, es decir código que genera o manipula código, por ejemplo yo podría permitirle a un usuario describir como es un tipo de dato y en tiempo de ejecucución tener un programa que manipule o lea esa información  &lt;p align="justify"&gt;Como podrán ver son bastantes las ventajas y puedo seguir echando choro acerca de todo lo que se puede hacer con un lenguaje dinámico, pero también hay que decirlo, también tienen sus desventajas como exponer nuestro programa a errores en tiempo de ejecución, herramientas de programación más pobres (adiós Intellisense), menor desempeño en la aplicación por la chamba adicional que le damos a la computadora de inferir y hacer casts en tiempo de ejecución. Hay que poner en la balanza si estos problemas no superan al beneficio de usar los lenguajes dinámicos.  &lt;p align="justify"&gt;Existen diferentes implementaciones de dinamismo en lenguajes como Ruby, Phyton y hasta el mismo Visual Basic y COM con su capacidad para hacer late binding, sin embargo aquí nos concentraremos en aprender cómo funcionarán estos conceptos en C#.  &lt;p align="justify"&gt;La línea de un lenguaje de programación estático y dinámico no es muy clara, los lenguajes estáticos (el CLR de .NET en general) fue creado para ser fuertemente tipado, sin embargo tiene alternativas para generar “cierto” dinamismo. La herramienta principal de .NET para esto es la reflección (Reflection) en el namespace System.Reflection. Este namespace contiene clases para conocer en tiempo de ejecución los tipos de datos, es más, es posible generar métodos dinámicos escribiendo directamente los opcodes del IL (Intermediate Language), sin embargo esto es sumamente complejo de lograr toda vez que tendríamos que aprender IL además de existir muchas limitantes, lo que trato de decir es que no creo que haya un lenguaje totalmente dinámico ni otro totalmente estático, cada lenguaje tiene su propia implementación en mayor o menor medida para realizar las tareas que enumeré en párrafos anteriores.  &lt;p align="justify"&gt;&lt;b&gt;Un poco de historia en la plataforma Microsoft sobre los tipos dinámicos&lt;/b&gt;  &lt;p align="justify"&gt;Como escribí en los renglones superiores, esto de no ser tan estricto en la tipificación de los datos no es nuevo en la plataforma Microsoft.  &lt;p align="justify"&gt;Quienes programamos alguna vez con COM o con Visual Basic 6.0 recordaremos código como el siguiente:  &lt;p align="justify"&gt;&amp;nbsp; &lt;div align="justify"&gt; &lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#008000;"&gt;&amp;#39;VB 6.0/VBScript &lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; lobjUnObjeto &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#0000ff;"&gt;Set&lt;/span&gt; lobjUnObjeto = CreateObject(&lt;span style="color:#006080;"&gt;&amp;quot;ADODB.Connection&amp;quot;&lt;/span&gt;) &lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p align="justify"&gt;Lo que sucede con el código anterior es que la función CreateObject devuelve una referencia a un objeto COM. Todo objeto COM debe tener implementada la interface IDispatch (que a su vez hereda de IUknown y que son las interfaces básicas para hacer que un objeto tenga la capacidad de utilizarse en COM) Veremos en un rato cómo se parece el modelo a lo que actualmente (o próximamente) tendremos en C#. 
&lt;p align="justify"&gt;Una vez que utilizábamos una sintaxis semejante a la anterior podíamos fácilmente mandar a llamar a cualquier método o atributo con la sintaxis del puntito 
&lt;p align="justify"&gt;&amp;nbsp; &lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;lobjUnObjeto.Metodo1&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;lobjUnObjeto.Atributo1 &lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p align="justify"&gt;Tener una situación similar en C# 3.0 o anteriores es imposible, toda vez que siempre es necesario agregar una referencia a y en tiempo de compilación conocer previamente el tipo de datos para poder hacer cualquier llamada a un método o atributo. 
&lt;p align="justify"&gt;Pues que creen... En C# 4.0 YA ES POSIBLE OTRA VEZ jeje. De hecho éste artículo el artículo se iba a llamar “Y Visual Basic siempre tuvo razón”, pero seguramente iba a herir varias susceptibilidades, así que le cambié el nombre. Fuera de coto, la posibilidad de utilizar sintaxis dinámica en C#, desde mi humilde punto de vista hace a &lt;b&gt;C# un lenguaje de programación multiparadigma real, con capacidad para utilizar el paradigma estructurado, orientado a objetos, funcional y dinámico. &lt;/b&gt;Esto es una excelente noticia para todos nosotros que día a día nos enfrentamos a pantallas llenas de código en C#. 
&lt;p align="justify"&gt;Algo que me gustaría aclarar es que el código fuertemente tipeado debe de prevalecer, el hecho de que C# tenga estas nuevas funcionalidades no significa que debemos olvidar todo lo que hemos aprendido hasta el momento sobre las buenas prácticas de la programación orientada a objetos y componentizada (interfaces, contratos, mecanismos de publicación – suscripción etc.), yo creo que como deberíamos de ver estas alternativas exactamente como eso, simplemente como una serie de alternativas que nos darán mayor productividad y facilidad al programar, pero no debemos de perder el foco y caer en el libertinaje haciendo código dinámico y olvidar de plano la tipificación. 
&lt;p align="justify"&gt;Todo se resume en una máxima: Usemos siempre fuerte tipificación, a menos de que sea absolutamente necesario, usemos tipos dinámicos. 
&lt;p align="justify"&gt;Basta pues de todo esto y concentrémonos ahora en ver la implementación básica de dinamismo en C# 4.0. 
&lt;p align="justify"&gt;&lt;b&gt;El tipo de datos dynamic&lt;/b&gt; 
&lt;p align="justify"&gt;C# 4.0 introduce el tipo de datos dynamic, que no es más que una manera alternativa de decirle al compilador que NO verifique el tipo de datos en tiempo de ejecución. Según los arquitectos de C# la palabra dynamic representa un objeto &lt;b&gt;estáticamente tipado para ser dinámico&lt;/b&gt;. 
&lt;p align="justify"&gt;El código se ve así: 
&lt;p align="justify"&gt;&amp;nbsp; &lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#008000;"&gt;//C# 4.0&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;font color="#0000ff"&gt;dynamic&lt;/font&gt; variable = 1; &lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p align="justify"&gt;En pocas palabras, y sin tanto choro, lo que sucede es que estamos declarando un objeto del tipo objeto pero como mencionamos esta implementación permite dejar la verificación del tipo (el binding) hasta el tiempo de ejecución 
&lt;p align="justify"&gt;¿Ustedes dirán y eso no es lo mismo que var?&amp;nbsp; La respuesta es ¡No!, son dos cosas completamente diferentes, veamos el siguiente ejemplo 
&lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#008000;"&gt;//C# 4.0&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;font color="#0000ff"&gt;dynamic&lt;/font&gt; objeto = 1;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; &lt;font color="#0000ff"&gt;var&lt;/font&gt; objeto2 = 1;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p align="justify"&gt;En la línea 2, internamente lo que sucede es que se asigna el tipo de datos objeto&amp;nbsp; el cual se conocerá hasta el runtime y en la línea 3 quien infiere el tipo de datos es el compilador y antes de ejecutarlo se conoce el tipo, por lo que sigue siendo un tipeado estático. 
&lt;p align="justify"&gt;Internamente esta funcionalidad se monta sobre una pieza de software que ya tiene un ratito entre nosotros que es el DLR. 
&lt;p align="justify"&gt;&lt;b&gt;El DLR &lt;/b&gt;
&lt;p align="justify"&gt;El DLR o Dynamic Language Runtime que se monta sobre el CLR, es decir, no lo reemplaza ni mucho menos, es simplemente código adicional que sirve para facilitarnos la vida a la hora de hacer las cosas dinámicas. Físicamente vive en un ensamblado llamado &lt;strong&gt;Microsoft.Scripting&lt;/strong&gt; y proporciona clases que facilitan en gran medida la utilización de lenguajes dinámicos. 
&lt;p align="justify"&gt;El DLR tiene como funcionlidad proveer funciones básicas de dinamismo, de la misma manera que en COM y VB 6.0 lo hacía la interface IDispatch y la función CreateObject, sin embargo y a diferencia de COM, el CLR tiene funciones de optimización para hacer que el código sea mucho más eficiente, toda vez que tiene soporte para caché de objetos, además de permitir la interoperabilidad de diferentes lenguajes de programación dinámicos como IronPython o IronRuby. 
&lt;p align="justify"&gt;Vayamos ahora a aplicaciones reales de esta tecnología 
&lt;p align="justify"&gt;&lt;b&gt;Bajo acoplamiento con C# 4.0&lt;/b&gt; 
&lt;p align="justify"&gt;Como lo he mencionado creo que en la mayoría de los posts que he hecho, es básico y conocido por todos que debemos fomentar la ya veterana la programación basada en componentes, al menos en tres capas, capa de usuario, regla de negocio y capa de persistencia o acceso a base de datos. Generalmente hay una dependencia de composición o agregación entre dichas capas, o sea agregamos una referencia desde la capa de usuario para que vea a los tipos y funciones de la Regla de Negocio y a su vez esta tiene una referencia a la capa de datos. 
&lt;p align="justify"&gt;&lt;img height="58" src="http://developersdotnet.com/imagesblogs/mmoran/p2-1.jpg" width="521" alt="" /&gt; 
&lt;p align="justify"&gt;El problema con C# es que si queremos seguir un modelo semejante en C#, además debemos definir bibliotecas de interfaces para que la capa de datos conozca las entidades porque las entidades (clases especializadas en la persistencia de datos) generalmente deben persistir en una regla de negocio, o bien en el caso de que queramos realizar inyección de dependencias sucede exactamente lo mismo. 
&lt;p align="justify"&gt;El tipo de datos dynamic permite una manera sencilla de hacer esto aun mas simple de lo que ya es. Veamos como 
&lt;p align="justify"&gt;Lo primero que vemos es la capa de usuario (en este caso una vil formita con dos botones), uno que acumula datos en un diccionario y el otro que invoca a la Regla de negocio con la cual tiene dependencia, éste código es perfectamente legal en C# 3.0 porque no hay nada nuevo y aun no usamos la palabra clave dynamic. Examinemos pues el código 
&lt;p align="justify"&gt;&amp;nbsp; &lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#008000;"&gt;///C# 4.0///////////CAPA DE USUARIO//////////////////////////&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.ComponentModel;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Data;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Drawing;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Windows.Forms;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; Rdn.Entidades;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; Usr&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;partial&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; Form1 : Form&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt;         &lt;span style="color:#008000;"&gt;//Aqui guardare los datos de las personas&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  17:&lt;/span&gt;         List&amp;lt;Persona&amp;gt; Personas = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; List&amp;lt;Persona&amp;gt;();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  18:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  19:&lt;/span&gt;         &lt;span style="color:#008000;"&gt;//PASO 1-------------------------------------------------------------------------&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  20:&lt;/span&gt;         &lt;span style="color:#008000;"&gt;//Este botón lo único que hace es agregar entidades persona al diccionario Personas&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  21:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; button1_Click(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  22:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  23:&lt;/span&gt;           &lt;span style="color:#008000;"&gt;//Invoco a la entidad Persona de regla de negocio (Rdn) y la lleno&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  24:&lt;/span&gt;             Rdn.Entidades.Persona unaPersona = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Rdn.Entidades.Persona() { &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  25:&lt;/span&gt;                 Id=Personas.Count+1, AMaterno=&lt;span style="color:#006080;"&gt;&amp;quot;Perez&amp;quot;&lt;/span&gt;, APaterno=&lt;span style="color:#006080;"&gt;&amp;quot;Perez&amp;quot;&lt;/span&gt;, Nombre=&lt;span style="color:#006080;"&gt;&amp;quot;Lucha&amp;quot;&lt;/span&gt; };&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  26:&lt;/span&gt;           &lt;span style="color:#008000;"&gt;//Sólo agrego la entidad al diccionario&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  27:&lt;/span&gt;             Personas.Add(unaPersona);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  28:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  29:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  30:&lt;/span&gt;         &lt;span style="color:#008000;"&gt;//PASO 2 -------------------------------------------------------------------------&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  31:&lt;/span&gt;         &lt;span style="color:#008000;"&gt;//Aquí doy clic cuando termino de agregar personas al diccionario&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  32:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; button2_Click(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  33:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  34:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;//Instancio la Rdn&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  35:&lt;/span&gt;             var ReglaNegocio = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Rdn.Rdn();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  36:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;//Invoco el método de la Rdn y le paso el diccionario lleno de Personas&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  37:&lt;/span&gt;             ReglaNegocio.AgregarPersonas(Personas);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  38:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  39:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  40:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  41:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  42:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; Form1()&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  43:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  44:&lt;/span&gt;             InitializeComponent();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  45:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  46:&lt;/span&gt;        &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  47:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  48:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p align="justify"&gt;Posteriormente veremos lo que hay en la RDN. En este caso y para hacer menos verboso el código esta RDN realmente no hace nada (recordemos que las capas de negocio tienen como función principal la orquestacíón de los procesos), sino que le avienta el diccionario a la capa de acceso a datos (persistencia). Igual que en el código anterior, éste código NO tiene nada novedoso. 
&lt;p align="justify"&gt;&amp;nbsp; &lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#008000;"&gt;//C# 4.0 ////////////////////CAPA DE REGLA DE NEGOCIO&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; Rdn&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; Rdn&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; AgregarPersonas(List&amp;lt;Entidades.Persona&amp;gt; pobjPersonas)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;             &lt;span style="color:#008000;"&gt;//Instancio a la capa de persistencia y le paso el mismo objeto recibido&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;             var BaseDatos = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Abd.Abd();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;             BaseDatos.Persistir(pobjPersonas);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt;         &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  17:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  18:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  19:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p align="justify"&gt;Aquí tienen la definición de la clase Persona 
&lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; Rdn.Entidades&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;    &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; Persona&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;       &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; Id;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;       &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; APaterno;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;       &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; AMaterno;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;       &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Nombre;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;       &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; Telefono;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;     &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p align="justify"&gt;Por fin llegó el momento de utilizar la palabra clave dynamic. La usaremos en este ejemplo precisamente en la capa de persistencia. 
&lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#008000;"&gt;//C# 4.0 CAPA DE ACCESO A DATOS CON dynamic&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Windows.Forms;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; System.Diagnostics;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;namespace&lt;/span&gt; Abd&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;     &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; Abd&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;         &lt;span style="color:#008000;"&gt;//Recibo la entidad persona, pero como podemos ver NO CONOZCO EL TIPO!!!&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;         &lt;span style="color:#008000;"&gt;//sólo lo declaro como dynamic y el código es completamente válido&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; Persistir(&lt;font color="#0000ff"&gt;dynamic&lt;/font&gt; pdynObjeto)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  17:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  18:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;foreach&lt;/span&gt; (&lt;font color="#0000ff"&gt;dynamic&lt;/font&gt; Item &lt;span style="color:#0000ff;"&gt;in&lt;/span&gt; pdynObjeto)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  19:&lt;/span&gt;             {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  20:&lt;/span&gt;                 &lt;span style="color:#008000;"&gt;//Aqui se pone el código para persistir en bdd, en este&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  21:&lt;/span&gt;                &lt;span style="color:#008000;"&gt;// ejemplo solo lo mando a la ventana de debug&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  22:&lt;/span&gt;                 Debug.Write(Item.APaterno + &lt;span style="color:#006080;"&gt;&amp;quot; &amp;quot;&lt;/span&gt;  + Item.AMaterno+ &lt;span style="color:#006080;"&gt;&amp;quot; &amp;quot;&lt;/span&gt; +Item.Nombre);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  23:&lt;/span&gt;                 Debug.Write(Item.Id.ToString());&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  24:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  25:&lt;/span&gt;             }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  26:&lt;/span&gt;           &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  27:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  28:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  29:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  30:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p align="justify"&gt;Como podemos ver no tuve que hacer interfaces, ni bibliotecas de tipos. El compilador permite la compilación sin ningún problema y descubre en tiempo de ejecución las propiedades (en teste caso APaterno, AMaterno etc, de los datos que le llegan.) jaja al más puro estilo de VB 6.0. Quiero señalar que en un contexto controlado esta implementación no es la óptima, sin embargo, es útil cuando queremos implementar arquitecturas dirigidas por los datos.&lt;/p&gt;
&lt;p align="justify"&gt;¿Qué más se puede hacer con C# 4.0?&lt;/p&gt;
&lt;p align="justify"&gt;&lt;strong&gt;Generación de atributos dinámicos en tiempo de ejecución.&lt;/strong&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Examinemos el siguiente código válido en C# 4.0, creo que habla por sí solo...&lt;/p&gt;
&lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#008000;"&gt;//C# 4.0&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; button3_Click(&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;        {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt;            &lt;span style="color:#008000;"&gt;//Creo un diccionario de atributos que se agregarán dinámicamente&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt;            &lt;span style="color:#008000;"&gt;//en tiempo de ejecución a una clase que se llama PerroDinamico&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;            Dictionary&amp;lt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt;&amp;gt; AtributosDinamicos = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Dictionary&amp;lt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt;&amp;gt;();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;            AtributosDinamicos.Add(&lt;span style="color:#006080;"&gt;&amp;quot;Color&amp;quot;&lt;/span&gt;, &lt;span style="color:#006080;"&gt;&amp;quot;Verde&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;            AtributosDinamicos.Add(&lt;span style="color:#006080;"&gt;&amp;quot;Raza&amp;quot;&lt;/span&gt;, &lt;span style="color:#006080;"&gt;&amp;quot;Chihuahua&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;            AtributosDinamicos.Add(&lt;span style="color:#006080;"&gt;&amp;quot;Edad&amp;quot;&lt;/span&gt;, 7);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;            &lt;span style="color:#008000;"&gt;//Defino tipo dinámico&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;            &lt;font color="#0000ff"&gt;dynamic&lt;/font&gt; UnPerroDinamico = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; PerroDinamico(AtributosDinamicos);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;            &lt;span style="color:#008000;"&gt;//Invoco a los atributos con sintaxis estándar de atributo&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;            &lt;span style="color:#008000;"&gt;//como si &amp;#39;realmente&amp;#39; existieran, cosa que no se podía hacer antes&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;            &lt;span style="color:#008000;"&gt;//porque este código hubiera lanzado una excepción&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt;            MessageBox.Show(UnPerroDinamico.Raza);&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt;            MessageBox.Show(UnPerroDinamico.Edad.ToString());&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  17:&lt;/span&gt;           &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  18:&lt;/span&gt;        }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p align="justify"&gt;El msgbox evidentemente muestra &amp;quot;Chihuahua&amp;quot; y 7. Esta clase llamada PerroDinamico hereda de.&lt;/p&gt;
&lt;p align="justify"&gt;Veamos su implementación:&lt;/p&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   &lt;/span&gt;&lt;span style="color:#008000;"&gt;//C# 4.0&lt;/span&gt;&lt;/pre&gt;
&lt;div&gt;
&lt;div style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;p&gt;&lt;span style="color:#606060;"&gt;   1:&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;class&lt;/span&gt; PerroDinamico : System.Scripting.Actions.Dynamic&lt;/p&gt;&lt;p&gt; &lt;span style="color:#008000;"&gt;//Clase con la interface IDynamicObject implementada &lt;/span&gt;&lt;/p&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   2:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   3:&lt;/span&gt;         Dictionary&amp;lt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt;&amp;gt; DiccionarioAtributos= &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; Dictionary&amp;lt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;,&lt;span style="color:#0000ff;"&gt;object&lt;/span&gt;&amp;gt;();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   4:&lt;/span&gt; &lt;span style="color:#008000;"&gt;//Recibo el diccionario con los atributos&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   5:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; PerroDinamico(Dictionary&amp;lt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt;&amp;gt; pAtributos)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   6:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   7:&lt;/span&gt;             DiccionarioAtributos = pAtributos;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   8:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;   9:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  10:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; PerroDinamico()&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  11:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  12:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;throw&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; NotImplementedException();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  13:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  14:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  15:&lt;/span&gt; &lt;span style="color:#008000;"&gt;//Estos métodos proveen la implementación de los atributos dinámicos, en este caso&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  16:&lt;/span&gt; &lt;span style="color:#008000;"&gt;//no se realiza implementación adicional&lt;/span&gt;&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  17:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; GetMember(GetMemberAction action)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  18:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  19:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  20:&lt;/span&gt;             &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; DiccionarioAtributos[action.Name];&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  21:&lt;/span&gt;          &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  22:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  23:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  24:&lt;/span&gt;         &lt;span style="color:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;override&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;void&lt;/span&gt; SetMember(SetMemberAction action, &lt;span style="color:#0000ff;"&gt;object&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;)&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  25:&lt;/span&gt;         {&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  26:&lt;/span&gt;          &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  27:&lt;/span&gt;             DiccionarioAtributos[action.Name] = &lt;span style="color:#0000ff;"&gt;value&lt;/span&gt;.ToString();&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  28:&lt;/span&gt;            &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  29:&lt;/span&gt;         }&lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  30:&lt;/span&gt;             &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:white;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  31:&lt;/span&gt;            &lt;/pre&gt;&lt;pre style="padding-right:0px;padding-left:0px;font-size:8pt;padding-bottom:0px;margin:0em;overflow:visible;width:100%;color:black;border-top-style:none;line-height:12pt;padding-top:0px;font-family:consolas, &amp;#39;Courier New&amp;#39;, courier, monospace;border-right-style:none;border-left-style:none;background-color:#f4f4f4;border-bottom-style:none;"&gt;&lt;span style="color:#606060;"&gt;  32:&lt;/span&gt;         }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p align="justify"&gt;Con esto podemos comprobar que el dinamismo con el DLR de .NET es bastante poderoso, toda vez que es posible implementar cualquier tipo en forma dinámica, y compartir la implentación independientemente del lenguaje.&lt;/p&gt;
&lt;p align="justify"&gt;Como conclusión puedo decir que estoy muy emocionado con todo esto, nos permitirá hacer cosas que antes eran, si no imposibles, muy talachudas de hacer y de nuevo, los invito a que cuando esto salga no lo usemos en demasía, solamente para cuando sea estrictamente necesario.&lt;/p&gt;
&lt;p align="justify"&gt;Pues a grandes rasgos esta fue una explicación somera del funcionamiento del dinamismo en C#. Espero que les haya gustado, cualquier duda o comentario no duden en externarlo poniendo un reply.&lt;/p&gt;
&lt;p align="justify"&gt;Gracias y los invito a que vean esto, es la entrevista de Anders Helsberg sobre las motivaciones que llevaron al equipo de C# a implementar estas cosas, se las recomiendo especialmente a los que no están muy convencidos de esta nueva flexibilidad:&lt;/p&gt;
&lt;p align="justify"&gt;&lt;a href="mms://mschnlnine.wmod.llnwd.net/a1809/d1/ch9/4/2/3/2/4/4/CSharpFourQuestionsAndReasons_s_ch9.wmv"&gt;mms://mschnlnine.wmod.llnwd.net/a1809/d1/ch9/4/2/3/2/4/4/CSharpFourQuestionsAndReasons_s_ch9.wmv&lt;/a&gt;&lt;/p&gt;
&lt;p align="justify"&gt;Un abrazo a &lt;a href="mailto:tod@s"&gt;tod@s&lt;/a&gt; y ¡Feliz Codificación!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=371" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author></entry><entry><title>Asiste al Evento de lanzamiento Comunidad del DF</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2008/05/08/asiste-al-evento-de-lanzamiento-comunidad-del-df.aspx" /><id>/blogs/bichi/archive/2008/05/08/asiste-al-evento-de-lanzamiento-comunidad-del-df.aspx</id><published>2008-05-08T15:04:00Z</published><updated>2008-05-08T15:04:00Z</updated><content type="html">&lt;p&gt;La Comunidad .NET de la Ciudad de M&amp;eacute;xico y DevelopersDotNet te invitan al evento de Lanzamiento de VS2008, SQL2008 y Windows 2008&lt;/p&gt;
&lt;p&gt;&amp;iexcl;Asiste!&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Fecha:&lt;/b&gt;&lt;br /&gt;13 de Mayo &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Hora:&lt;/b&gt;&lt;br /&gt;11 a.m. &amp;ndash; 7.p.m &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Lugar:&lt;/b&gt;&lt;br /&gt;ITAM &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Direcci&amp;oacute;n:&lt;/strong&gt; &lt;/p&gt;
&lt;p&gt;R&amp;iacute;o Hondo # 1 &lt;br /&gt;Col. Progreso Tizap&amp;aacute;n &lt;br /&gt;C.P. 01080 Del. &amp;Aacute;lvaro Obreg&amp;oacute;n &lt;br /&gt;M&amp;eacute;xico D.F. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Agenda:&lt;/b&gt; &lt;/p&gt;
&lt;p&gt;11:00 a 12:30&lt;br /&gt;H&amp;eacute;ctor Obreg&amp;oacute;n -Interoperabilidad entre C&amp;oacute;digo Nativo en C++ (con MFC), Windows Forms y WPF &lt;/p&gt;
&lt;p&gt;12:30 a 2:00 &lt;br /&gt;Misael Monterroca - Silverlight 2.0 Beta 1 &lt;/p&gt;
&lt;p&gt;2:00 a 3:00 &lt;br /&gt;Tiempo disponible para salir a comer. &lt;/p&gt;
&lt;p&gt;3:00 a 4:30 &lt;br /&gt;Miguel &amp;Aacute;ngel Moran - Nuevos elementos sint&amp;aacute;cticos con C# 3.0 y VB 9.0 &lt;/p&gt;
&lt;p&gt;4:30 a 5:45&lt;br /&gt;Alfredo Ceballos &amp;ndash; &lt;i&gt;Experiencias de Usuario Enriquecidas en Web y Windows&lt;/i&gt;. &lt;/p&gt;
&lt;p&gt;5:45 a 7:00 &lt;br /&gt;Ra&amp;uacute;l Guerrero &amp;ndash;&amp;nbsp; SQL Server 2008 &lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Mapa:&lt;/b&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.itam.mx/es/ubicacion/riohondo1.html"&gt;http://www.itam.mx/es/ubicacion/riohondo1.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.itam.mx/es/ubicacion/riohondo2.html"&gt;http://www.itam.mx/es/ubicacion/riohondo2.html&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=343" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author></entry><entry><title>Colaboración en Software Gurú: Más allá de los objetos, C# funcional </title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2008/05/06/colaboraci-243-n-en-software-gur-250-m-225-s-all-225-de-los-objetos-c-funcional.aspx" /><id>/blogs/bichi/archive/2008/05/06/colaboraci-243-n-en-software-gur-250-m-225-s-all-225-de-los-objetos-c-funcional.aspx</id><published>2008-05-07T02:02:00Z</published><updated>2008-05-07T02:02:00Z</updated><content type="html">&lt;p&gt;Como les comenté en posts anteriores sigo medio obsesionado con estas cosas de la programación alterna (dinámica, declarativa, funcional etc.) Les dejo un link para que visiten el sitio de la revista Software Gurú donde&amp;nbsp;salió publicado un artículo mío denominado &amp;quot;Más allá de los objetos, C# como lenguaje funcional&amp;quot;, en la edición de Mayo-Julio de 2008. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sg.com.mx/content/view/6" target="_blank"&gt;&lt;font color="#0065e2"&gt;¡Cómprenla!&lt;/font&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;El link es: 
&lt;p&gt;&lt;a title="http://www.sg.com.mx/content/view/713" href="http://www.sg.com.mx/content/view/713"&gt;&lt;font color="#0065e2"&gt;http://www.sg.com.mx/content/view/713&lt;/font&gt;&lt;/a&gt; 
&lt;p&gt;Traté de explicar con varios ejemplos de como usar C# con características funcionales, me faltó un buen pero ps el espacio era limitado, igual acá profundizamos más en algunos posts posteriores. 
&lt;p&gt;El código fuente es este, abran una nueva aplicación de consola con Visual Studio 2008 (.NET Framework 3.5) y denle Copy Paste al siguiente código.&lt;/p&gt;
&lt;p&gt;Lean el artículo, espero que les guste y cualquier duda me la pueden hace llegar a través de los foros de este sitio o a mi mail &lt;a href="mailto:starcatchingboy@gmail.com"&gt;&lt;font color="#0065e2"&gt;starcatchingboy@gmail.com&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;span style="COLOR:#0000ff;"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;span style="COLOR:#0000ff;"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;span style="COLOR:#0000ff;"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;span style="COLOR:#0000ff;"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;span style="COLOR:#0000ff;"&gt;using&lt;/span&gt; System.Collections;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&lt;span style="COLOR:#0000ff;"&gt;using&lt;/span&gt; System.Threading;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;span style="COLOR:#0000ff;"&gt;using&lt;/span&gt; System.Linq.Expressions;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&lt;span style="COLOR:#0000ff;"&gt;namespace&lt;/span&gt; Devworx.SG&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;{&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;    &lt;span style="COLOR:#0000ff;"&gt;class&lt;/span&gt; Program&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;    {&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;             &lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;        &lt;span style="COLOR:#008000;"&gt;//Función de orden superior&lt;/span&gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;        &lt;span style="COLOR:#0000ff;"&gt;public&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;static&lt;/span&gt; Func&amp;lt;&lt;span style="COLOR:#0000ff;"&gt;int&lt;/span&gt;,&lt;span style="COLOR:#0000ff;"&gt;int&lt;/span&gt;&amp;gt; ConvertirMoneda(&lt;span style="COLOR:#0000ff;"&gt;string&lt;/span&gt; pstrMoneda) {&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;        &lt;span style="COLOR:#0000ff;"&gt;return&lt;/span&gt; (&lt;span style="COLOR:#0000ff;"&gt;int&lt;/span&gt; pintCantidad) =&amp;gt; &lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;        { &lt;span style="COLOR:#0000ff;"&gt;return&lt;/span&gt; pstrMoneda == &lt;span style="COLOR:#006080;"&gt;&amp;quot;EURO&amp;quot;&lt;/span&gt; ? pintCantidad * 15 : pintCantidad * 10;  };&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;       }&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;        &lt;span style="COLOR:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="COLOR:#0000ff;"&gt;void&lt;/span&gt; Main()&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;        {&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;          &lt;span style="COLOR:#008000;"&gt;//Expresiones lambda CUBO&lt;/span&gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;            &lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;            Func&amp;lt;&lt;span style="COLOR:#0000ff;"&gt;int&lt;/span&gt;, &lt;span style="COLOR:#0000ff;"&gt;int&lt;/span&gt;&amp;gt; lintResultado = (pintNum) =&amp;gt; { &lt;span style="COLOR:#0000ff;"&gt;return&lt;/span&gt; pintNum * pintNum; };&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;            Console.WriteLine(lintResultado(3));&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;            &lt;span style="COLOR:#008000;"&gt;//Inferencia de tipos&lt;/span&gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;            var lobjMsg= &lt;span style="COLOR:#006080;"&gt;&amp;quot;Hola&amp;quot;&lt;/span&gt;;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;            lobjMsg.GetType().ToString();&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;            Console.WriteLine(&lt;span style="COLOR:#006080;"&gt;&amp;quot;El tipo inferido es &amp;quot;&lt;/span&gt; + lobjMsg.GetType().ToString());&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;            &lt;span style="COLOR:#008000;"&gt;//Invocación a Función de orden superior con parámetro euro&lt;/span&gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;            var lobjConvertidor = ConvertirMoneda(&lt;span style="COLOR:#006080;"&gt;&amp;quot;EURO&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;            Console.WriteLine(&lt;span style="COLOR:#006080;"&gt;&amp;quot;La FOS regresa &amp;quot;&lt;/span&gt; + lobjConvertidor(20) + &lt;span style="COLOR:#006080;"&gt;&amp;quot; si se le invoca con euro&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;            &lt;span style="COLOR:#008000;"&gt;//Invocación a Función de orden superior con parámetro dolar&lt;/span&gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;            lobjConvertidor = ConvertirMoneda(&lt;span style="COLOR:#006080;"&gt;&amp;quot;DOLAR&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;            Console.WriteLine(&lt;span style="COLOR:#006080;"&gt;&amp;quot;La FOS regresa &amp;quot;&lt;/span&gt; + lobjConvertidor(20) + &lt;span style="COLOR:#006080;"&gt;&amp;quot; si se le invoca con dolar&amp;quot;&lt;/span&gt; );&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;            &lt;span style="COLOR:#008000;"&gt;//Sumatoria sin for, al modo funcional&lt;/span&gt;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;            Console.WriteLine(&lt;span style="COLOR:#006080;"&gt;&amp;quot;La sumatoria de 100 es: &amp;quot;&lt;/span&gt; + Enumerable.Range(1, 100).Sum());&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;            Console.ReadKey();&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;   &lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;        }&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;&amp;nbsp;&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:#f4f4f4;BORDER-BOTTOM-STYLE:none;"&gt;    }&lt;/pre&gt;&lt;pre style="PADDING-RIGHT:0px;PADDING-LEFT:0px;FONT-SIZE:8pt;PADDING-BOTTOM:0px;MARGIN:0em;OVERFLOW:visible;WIDTH:100%;COLOR:black;BORDER-TOP-STYLE:none;LINE-HEIGHT:12pt;PADDING-TOP:0px;FONT-FAMILY:Consolas, &amp;#39;Courier New&amp;#39;, Courier, Monospace;BORDER-RIGHT-STYLE:none;BORDER-LEFT-STYLE:none;BACKGROUND-COLOR:white;BORDER-BOTTOM-STYLE:none;"&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Un abrazo a &lt;a href="mailto:tod@s"&gt;&lt;font color="#0065e2"&gt;tod@s&lt;/font&gt;&lt;/a&gt; y&lt;br /&gt;¡Feliz Codificación!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=342" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author><category term="Programaci&amp;#243;n funcional" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Programaci_26002300_243_3B00_n+funcional/default.aspx" /><category term="C# 3.0" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/C_2300_+3.0/default.aspx" /></entry><entry><title>Reflexiones sobre paradigmas de programación</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2008/04/30/reflexiones-sobre-paradigmas-de-programaci-243-n.aspx" /><id>/blogs/bichi/archive/2008/04/30/reflexiones-sobre-paradigmas-de-programaci-243-n.aspx</id><published>2008-05-01T04:26:00Z</published><updated>2008-05-01T04:26:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Me encuentro en el aeropuerto de Seattle esperando mi vuelo rumbo a casita, después de una semana sumamente enriquecedora (debo decir, mucho más de lo que yo esperaba) asistiendo al MVP Summit 2008. Creo que fue un evento impresionante, que me sorprendió la manera en la que habló Steve Ballmer y que es extraordinario estar en medio de los equipos de producto de Microsoft (particularmente estuve con los equipos de VB y C#)&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;y en este post me gustaría platicar un poco respecto a mis impresiones.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Desafortunadamente (o afortunadamente) hay un contrato NDA (Non Disclosure Agreement) firmado entre Microsoft y los MVPs que impide comentar detalles y los ejemplos concretos de lo que hemos visto. Sin embargo quisiera compartir algunas reflexiones en estos tiempos de cambio en los que vivimos.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Mi área de interés en esta parte de mi carrera profesional es la teoría de lenguajes de computación, me enoja un poco tener tanto trabajo y no poder dedicarme más a este apasionante tema, sin embargo en tiempecitos he estado investigando y aprendiendo cosas muy interesantes durante los últimos meses, es un tema que me apasiona, quizás como ningún otro en la informática y en este Summit tuve la oportunidad de asistir a pláticas exactamente de estos tópicos, así que con algo de tristeza renuncié a pláticas de Silverlight, de &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;SQL, de SharePoint&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;y hasta de LINQ, y enfoqué todo mi track de sesiones exclusivamente en el área de los lenguajes “puros”, lo cual fue la mejor decisión que pude haber tomado. Estas sesiones me hicieron reafirmar algunas creencias que tengo y modificar otras y las enumeraré a continuación&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;1) Cosas que siempre he dicho que reafirmé&lt;/font&gt;&lt;/font&gt;&lt;/b&gt; &lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;a)&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Seguiremos en el camino de la computación “multiparadigma”: &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Es bueno ser teórico para programar, me gusta mucho conocer gente que le guste adherirse a una escuela o patrón de diseño, yo soy el principal defensor de la teoría al programar, sin embargo hay que decir que ni VB ni C# son lenguajes puramente orientados a objetos, y mucho menos con la introducción de Visual Studio 2008, con la cual los lenguajes adquiririeron elementos funcionales. Microsoft seguirá por ese rumbo para efectos de aumentar las opciones y la productividad del programador, de cualquier tipo y de cualquier escuela. Los lenguajes evolucionan, deben hacerse más fáciles, mejores y con muchas opciones. Java alguna vez presumía de que era un lenguaje de programación “fácil” y en sus primeras versiones se jactaba de que en el lenguaje solamente se podían hacer las cosas de 2 o 3 maneras distintas cuando en otros lenguajes como C++ lo mismo se podía hacer de 20 formas diferentes. Pues a Java se le cayó esa premisa y conforme ha ido evolucionando (es impresionante que hasta hace algún tiempo java no tenia foreach :P) ha tenido que cambiar e introducir cosas como genéricos&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;y muchas construcciones que le han dado flexibilidad al lenguaje. Lo mismo ha pasado con .NET, sigue en constante evolución y creo que esto es el camino que tendremos en el corto y mediano plazo.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Me saca de onda un poco que a estas alturas del partido haya MVPs en C# que sigan diciendo que var es malo o que se oponen a la evolución natural de los lenguajes, no debería de ser, los lenguajes entre más opciones nos den, se vuelven más flexibles, es función del arquitecto de software elegir un paradigma, patrón&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;y arquitectura para generar mejor software.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;b) Los lenguajes open source seguirán ahí: &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Microsoft no tiene interés es “competir” frontalmente o posicionar a C# o a VB como una alternativa a lenguajes como Ruby, al contrario, la idea es integrar cada vez más lenguajes de programación heterogéneos que sean compatibles con el CLR y con el DLR (Dynamic Language Runtime). Microsoft está muy comprometido con la comunidad open source y la integración de nuevos lenguajes más específicos para determinadas tareas como F#, Ruby, Phyton etc. será (es) ya un hecho dentro de Microsoft.&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font size="3"&gt;&lt;font face="Calibri"&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;c) Los lenguajes dinámicos (y el late binding) NO son malos, si se usan con precaución:&lt;/i&gt; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;Lo tengo que aceptar: Soy FANÁTICO de los lenguajes que aceptan late binding (léase Visual Basic), &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;siempre lo he sido y seguramente lo seré. Microsoft está haciendo grandes esfuerzos por encontrar una solución que balancee la seguridad del static typing y la flexibilidad del dinamismo y/o late binding. (Por cierto, la diferencia principal del dinamismo al Late Binding es muy sutil podemos decir que un lenguaje dinámico no es más que uno con latebinding con esteroides, y los esteroides son precisamente la creación de un tipo nuevo en compile time (antes de su ejecución), cosa que no sucede con late binding, donde se conoce el tipo hasta la ejecución del mismo y este se encuentra boxeado en un tipo general (que no es lo mismo que genérico) llamado object) &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Calibri" size="3"&gt;Seguramente un servidor (yo) y DevWorx estaremos haciendo algo al respecto. Allá afuera pasan muchas cosas y no nos vamos a quedar sin participar. El tema de los lenguajes dinámicos es extremadamente apasionante y lo considero como la orientación a objetos real, más humana, más antropomorfizada, es decir, ¿para qué hacer casts y tener bibliotecas de interfaces? Podemos, sin duda alguna generar una real orientación a objetos mediante un polimorfismo llevado al extremo y la programación dinámica es un pilar fundamental para lograrlo. Les recomiendo mucho leer esto: &lt;/font&gt;&lt;span class="a1"&gt;&lt;span style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;font color="#008000"&gt;&lt;a href="http://pico.vub.ac.be/~wdmeuter/RDL04/papers/Meijer.pdf"&gt;http://pico.vub.ac.be/~wdmeuter/RDL04/papers/Meijer.pdf&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;font face="Calibri" size="3"&gt;&amp;nbsp;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;&lt;strong&gt;2) Cosas que siempre he dicho y que tendré que rectificar&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;1) He dicho en varios posts que C# se está convirtiendo en un lenguaje funcional y VB en un lenguaje dinámico: Aunque C# 3.0 es más funcional que VB 9.0, en el futuro inmediato pareciera ser que ambos lenguajes&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;seguirán teniendo un soporte similar a tecnologías dinámicas y funcionales respectivamente lo cual lejos de ser malo, es excelente, ambos lenguajes están adquiriendo las capacidades necesarias para seguir estando en la vanguardia y&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;que se pueda programar en ellos cualquier software por complejo que parezca. &lt;/font&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN:0cm 0cm 10pt;"&gt;&lt;font face="Calibri" size="3"&gt;En fin, la semana del Summit se acabó y mis proyectos en me esperan apilados, tengo que programar teléfonos celulares, dar cursos de SharePoint (arg!), no es lo que más me gusta, pero ni modo la chamba es la chamba y hay que verla de la mejor manera posible. Espero pronto postear varios posts que tengo empezados pero no terminados.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Calibri" size="3"&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=333" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author></entry><entry><title>Capacitación GRATUITA para presentar examen de certificación 70-536</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2008/02/12/capacitaci-243-n-gratuita-para-presentar-examen-de-certificaci-243-n-70-536.aspx" /><id>/blogs/bichi/archive/2008/02/12/capacitaci-243-n-gratuita-para-presentar-examen-de-certificaci-243-n-70-536.aspx</id><published>2008-02-12T23:22:00Z</published><updated>2008-02-12T23:22:00Z</updated><content type="html">&lt;span style="FONT-SIZE:10.5pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Se invita a todas las personas interesadas a participar en la &lt;/span&gt;&lt;span style="FONT-SIZE:10.5pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;"&gt;&lt;a href="http://learning.devworx.com.mx/certificaciones/70-536/default.aspx" target="_blank"&gt;&lt;span style="mso-ansi-language:ES-MX;"&gt;clínica para presentar el examen de certificación 70-536&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10.5pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;, la cual comenzará el próximo día 03 de marzo del 2008 y será llevada a cabo de manera online; siendo su duración aproximada de 2 meses.&amp;nbsp; Se extiende esta invitación también a todas aquellas personas ya certificadas que deseen reforzar sus conocimientos acerca de los temas que toca el temario para este examen.&amp;nbsp; &lt;/span&gt;&lt;span style="FONT-SIZE:10.5pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;"&gt;La clínica es totalmente gratuita y será impartida por:&lt;/span&gt; 
&lt;ul&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;span style="FONT-SIZE:10.5pt;COLOR:#1f497d;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;a href="http://squad.devworx.com.mx/blogs/rodrigo"&gt;Rodrigo Díaz&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10.5pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; (Ineta Speaker)&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;span style="FONT-SIZE:10.5pt;COLOR:#1f497d;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;a href="http://squad.devworx.com.mx/blogs/miguel"&gt;Miguel Ángel Morán&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10.5pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; (MVP C#)&lt;/span&gt;&lt;/li&gt;
&lt;li class="MsoNormal" style="MARGIN:0cm 0cm 0pt;mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt;"&gt;&lt;span style="FONT-SIZE:10.5pt;COLOR:#1f497d;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;a href="http://squad.devworx.com.mx/blogs/misael"&gt;Misael Monterroca&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10.5pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; (Ineta Speaker)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="FONT-SIZE:10.5pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;El temario lo pueden consultar &lt;/span&gt;&lt;span style="FONT-SIZE:10.5pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ansi-language:EN-US;"&gt;&lt;a href="http://learning.devworx.com.mx/certificaciones/70-536/default.aspx" target="_blank"&gt;&lt;span style="mso-ansi-language:ES-MX;"&gt;aquí&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="FONT-SIZE:10.5pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;.&lt;/span&gt;&lt;span style="FONT-SIZE:10.5pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="FONT-SIZE:10.5pt;FONT-FAMILY:&amp;#39;Trebuchet MS&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Nos vemos en línea!&lt;/span&gt; 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=294" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author></entry><entry><title>2D y animaciones con WPF</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2008/02/10/2d-y-animaciones-con-wpf.aspx" /><id>/blogs/bichi/archive/2008/02/10/2d-y-animaciones-con-wpf.aspx</id><published>2008-02-10T19:01:41Z</published><updated>2008-02-10T19:01:41Z</updated><content type="html">&lt;p style="text-align:justify;"&gt;&lt;br /&gt;Existen muchas razones por las cuales una aplicación podría tener la capacidad de dibujar en pantalla y contenido visual como rectángulos, elipses, triángulos, círculos etc. WPF incluye una gran cantidad de funcionalidad para tener este tipo de gráficos y realmente existe una mejora significativa al dibujar con esta tecnología respecto a tecnologías previas como GDI+.&lt;span style="font-size:12pt;text-decoration:underline;"&gt;&lt;strong&gt; &lt;/strong&gt;&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Shapes &lt;/strong&gt;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;Las Shapes (formas) son primitivas que nos permiten dibujar automáticamente algunas formas básicas y muy usadas en la definición de gráficos. La ventaja de utilizar Shapes es que incluyen todo lo necesario para definir la presentación y aspecto visual en las figuras sin necesidad de componer árboles de objetos complejos. &lt;/p&gt; &lt;p&gt;Las Shapes definidas por WPF se encuentran en el siguiente listado &lt;/p&gt; &lt;div&gt; &lt;table style="border-collapse:collapse;"&gt;     &lt;tr style="background:#4f81bd;"&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;border-top:0.5pt solid;padding-left:7px;border-left:0.5pt solid;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&lt;span style="color:white;"&gt;&lt;strong&gt;Shape (Forma)&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;border-top:0.5pt solid;padding-left:7px;border-bottom:0.5pt solid;border-left-style:none;"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="background:#d3dfee;"&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-left:0.5pt solid;border-top-style:none;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Ellipse&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-top-style:none;border-bottom:0.5pt solid;border-left-style:none;"&gt; &lt;p&gt;Dibuja círculos y elipses de circunferencia fija si se le especifican los atributos Width y Height o variable de acuerdo a su objeto contenedor si no se le especifican dichos atributos.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-left:0.5pt solid;border-top-style:none;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&lt;strong&gt;Line&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-top-style:none;border-bottom:0.5pt solid;border-left-style:none;"&gt; &lt;p&gt;Dibuja una línea dados dos puntos. Es posible especificar la presentación de la línea utilizando los atributos Stroke, StokeThikness entre otros.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="background:#d3dfee;"&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-left:0.5pt solid;border-top-style:none;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&lt;strong&gt;Rectangle&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-top-style:none;border-bottom:0.5pt solid;border-left-style:none;"&gt; &lt;p&gt;Dibuja rectángulos y cuadrados y tiene la capacidad de modificar la presentación de las esquinas y el trazado de las líneas del rectángulo&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-left:0.5pt solid;border-top-style:none;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&lt;strong&gt;Polyline&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-top-style:none;border-bottom:0.5pt solid;border-left-style:none;"&gt; &lt;p&gt;Dibuja rectas continuas&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="background:#d3dfee;"&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-left:0.5pt solid;border-top-style:none;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&lt;strong&gt;Polygon&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-top-style:none;border-bottom:0.5pt solid;border-left-style:none;"&gt; &lt;p&gt;Dibuja rectas continuas y añade un segmento de recta adicional para cerrar la figura.&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-left:0.5pt solid;border-top-style:none;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&lt;strong&gt;Path&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-top-style:none;border-bottom:0.5pt solid;border-left-style:none;"&gt; &lt;p&gt;Dibuja líneas, curvas y en general cualquier caso siguiendo un conjunto de instrucciones especificadas mediante XAML o una notación especial&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Ellipse: &lt;/strong&gt;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;El siguiente código muestra la manera de dibujar dos elipses. La primera elipse tiene especificados los atributos &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Width &lt;/span&gt;Y&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt; Height &lt;/span&gt;por lo que al momento de cambiar de tamaño la ventana el dibujo de la elipse permanecerá inamovible mientras que en la elipse llamada&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt; MiElipseFija &lt;/span&gt;ocurrirá un redimensionamiento toda vez que hereda el tamaño especificado por su objeto contenedor &lt;/p&gt; &lt;p&gt;XAML &lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Ellipse Margin=&amp;quot;68,47,82,86&amp;quot; Width=&amp;quot;50&amp;quot; Height=&amp;quot;50&amp;quot; Name=&amp;quot;MiElipseMovible&amp;quot; StrokeThickness=&amp;quot;5&amp;quot; Stroke=&amp;quot;Red&amp;quot; /&amp;gt; &lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Ellipse Margin=&amp;quot;68,47,82,86&amp;quot; Name=&amp;quot;MiElipseFija&amp;quot; Stroke=&amp;quot;Blue&amp;quot; StrokeThickness=&amp;quot;5&amp;quot;&amp;gt;&amp;lt;/Ellipse&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;El resultado es el siguiente: &lt;/p&gt; &lt;p style="text-align:center;"&gt;&lt;/p&gt; &lt;p&gt;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p10-1.jpg" alt="" /&gt; &lt;/p&gt; &lt;p&gt;Para definir que una elipse será rellenada con determinado color es posible utilizar el atributo Fill. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Line: &lt;/strong&gt;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;Las líneas son uno de los elementos visuales más utilizados en las aplicaciones. Para definir una línea es necesario indicar los puntos origen y destino a través de los cuales se dibujará el segmento de recta. Para definir estos puntos hacemos uso de los atributos &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;X1&lt;/span&gt;, &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Y1 &lt;/span&gt;para definir el primer punto y &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;X2, Y2&lt;/span&gt; para definir el segundo punto. El ejemplo siguiente muestra cómo definir dos líneas. &lt;/p&gt; &lt;p&gt;XAML &lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Line X1=&amp;quot;0&amp;quot; Y1=&amp;quot;0&amp;quot; X2=&amp;quot;300&amp;quot; Y2=&amp;quot;280&amp;quot; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Stroke=&amp;quot;Blue&amp;quot; StrokeThickness=&amp;quot;14&amp;quot; /&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&amp;nbsp;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Line X1=&amp;quot;0&amp;quot; Y1=&amp;quot;260&amp;quot; X2=&amp;quot;280&amp;quot; Y2=&amp;quot;0&amp;quot; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;StrokeThickness=&amp;quot;14&amp;quot;&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Line.Stroke&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;ImageBrush ImageSource=&amp;quot;C:\Revista USERS\2D\fondo.jpg&amp;quot; /&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Line.Stroke&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Line&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;La primera línea define para el atributo &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Stroke&lt;/span&gt; un color fijo mientras que la segunda línea utilizada un elemento &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;ImageBrush &lt;/span&gt;para definir el trazado de dicha línea utilizada como fondo una imagen especificada en un archivo el resultado del código anterior es el siguiente. &lt;/p&gt; &lt;p style="text-align:center;"&gt;&lt;/p&gt; &lt;p style="text-align:center;"&gt;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p10-2.jpg" alt="" /&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Polyline &lt;/strong&gt;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;Este objeto representa una colección de líneas. Las líneas son definidas a través de la propiedad &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Points&lt;/span&gt; donde se definen los puntos por los cuales pasará el conjunto de líneas. De la misma manera que sucede con el objeto Line, podemos establecer el formato del trazado de la línea mediante los atributos &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Stroke&lt;/span&gt;,&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt; StrokeThikness&lt;/span&gt; entre otros. Además es posible utilizar el atributo Fill para llenar el área por la que pasan las líneas. &lt;/p&gt; &lt;p style="text-align:justify;"&gt;El código a continuación genera un triángulo: &lt;/p&gt; &lt;p&gt;XAML &lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Polyline Points=&amp;quot;100,100 200,40 300,100 104,100&amp;quot; Stroke=&amp;quot;Black&amp;quot; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;StrokeThickness=&amp;quot;10&amp;quot; Margin=&amp;quot;0,50&amp;quot; StrokeLineJoin=&amp;quot;Round&amp;quot; Fill=&amp;quot;Red&amp;quot;/&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Resultado &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="text-align:center;"&gt;&lt;/p&gt; &lt;p style="text-align:center;"&gt;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p10-3.jpg" alt="" /&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Polygon &lt;/strong&gt;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;La funcionalidad entre &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Polyline y Polygon&lt;/span&gt; es prácticamente la misma. La única diferencia que existe entre ambos objetos es que &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Polygon&lt;/span&gt; automáticamente añade una línea entre el primero y el último punto y de esta manera se genera una figura cerrada. A continuación mostramos el mismo ejemplo anterior utilizando ahora para ver la diferencia entre uno y otro &lt;/p&gt; &lt;p&gt;&lt;span style="font-size:10pt;color:#a31515;font-family:arial;"&gt;XAML &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;"&gt;&lt;span style="color:blue;font-family:arial;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:black;font-family:courier new;"&gt;Polygon Points=&amp;quot;100,100 200,40 300,100 170,100&amp;quot; Stroke=&amp;quot;Black&amp;quot; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;StrokeThickness=&amp;quot;10&amp;quot; Fill=&amp;quot;Red&amp;quot; Margin=&amp;quot;0,50&amp;quot; StrokeLineJoin=&amp;quot;Round&amp;quot; /&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="text-align:center;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="text-align:center;"&gt;&lt;/p&gt; &lt;p style="text-align:center;"&gt;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p10-4.jpg" alt="" /&gt; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Path &lt;/strong&gt;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;Con la clase &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Path&lt;/span&gt; es posible dibujar prácticamente cualquier trazo. A diferencia de las figuras vistas anteriormente, con éste objeto es posible dibujar inclusive curvas y rectas figuras abiertas y figuras cerradas, para eso, hace uso de la propiedad &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Data&lt;/span&gt; que tiene una notación que permite definir los movimientos, las curvas y las líneas mediante una notación sintaxis que se detalla a continuación. &lt;/p&gt; &lt;div&gt; &lt;table style="border-collapse:collapse;"&gt;     &lt;tr style="background:#4f81bd;"&gt; &lt;td style="padding-right:7px;border-top:#7ba0cd 1pt solid;padding-left:7px;border-left:#7ba0cd 1pt solid;border-bottom:0.5pt solid;border-right-style:none;"&gt; &lt;p&gt;&lt;span style="color:white;"&gt;&lt;strong&gt;Shape (Forma)&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:#7ba0cd 1pt solid;padding-right:7px;border-top:#7ba0cd 1pt solid;padding-left:7px;border-bottom:0.5pt solid;border-left-style:none;"&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="background:#d3dfee;"&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-left:0.5pt solid;border-top-style:none;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;M&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-top-style:none;border-bottom:0.5pt solid;border-left-style:none;"&gt; &lt;p&gt;Define el punto inicial de una figura&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-left:0.5pt solid;border-top-style:none;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&lt;strong&gt;L&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-top-style:none;border-bottom:0.5pt solid;border-left-style:none;"&gt; &lt;p&gt;Define una recta a partir de la posición actual y hasta el punto especificado&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="background:#d3dfee;"&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-left:0.5pt solid;border-top-style:none;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&lt;strong&gt;V, H&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-top-style:none;border-bottom:0.5pt solid;border-left-style:none;"&gt; &lt;p&gt;Definen una línea vertical u horizontal respectivamente&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-left:0.5pt solid;border-top-style:none;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&lt;strong&gt;C, Q, S, T&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-top-style:none;border-bottom:0.5pt solid;border-left-style:none;"&gt; &lt;p&gt;Definen curvas de Bezier (cúbicas, cuadráticas, cúbicas suaves y cuadráticas suaves respectivamente)&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr style="background:#d3dfee;"&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-left:0.5pt solid;border-top-style:none;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&lt;strong&gt;A&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-top-style:none;border-bottom:0.5pt solid;border-left-style:none;"&gt; &lt;p&gt;Dibuja un arco elíptico&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-left:0.5pt solid;border-top-style:none;border-bottom:0.5pt solid;"&gt; &lt;p&gt;&lt;strong&gt;Z&lt;/strong&gt;&lt;/p&gt;&lt;/td&gt; &lt;td style="border-right:0.5pt solid;padding-right:7px;padding-left:7px;border-top-style:none;border-bottom:0.5pt solid;border-left-style:none;"&gt; &lt;p&gt;Cierra la figura actual&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;El siguiente ejemplo muestra como utilizar el objeto Path &lt;/p&gt; &lt;p&gt;XAML &lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Path Stroke=&amp;quot;Black&amp;quot; Fill=&amp;quot;Blue&amp;quot;&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Path.Data&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;PathGeometry Figures=&amp;quot;M 10,100 C 10,300 300,-100 300,100 &amp;quot; /&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Path.Data&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Path&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;El código previo genera la siguiente salida: &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="text-align:center;"&gt;&lt;/p&gt; &lt;p style="text-align:center;"&gt;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p10-5.jpg" alt="" /&gt; &lt;/p&gt; &lt;p style="text-align:center;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;Cabe señalar que cuando es necesario dibujar una figura compleja no es muy práctico editar a mano el XAML; es por eso que podemos hacer uso de herramientas especializadas en diseño gráfico como Expression Blend que automáticamente genera el código requerido para representar los trazos y dibujos creados en la herramienta misma. &lt;/p&gt; &lt;p style="text-align:justify;"&gt;A continuación un ejemplo de código generado automáticamente con Expression Blend utilizando su herramienta Pencil. &lt;/p&gt; &lt;p style="text-align:justify;"&gt;XAML &lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Path Stretch=&amp;quot;Fill&amp;quot; Stroke=&amp;quot;#FF000000&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot; Margin=&amp;quot;154.833,0,0,121.5&amp;quot; VerticalAlignment=&amp;quot;Bottom&amp;quot; Width=&amp;quot;3&amp;quot; Height=&amp;quot;59&amp;quot; Data=&amp;quot;M155.33333,264 C155.76028,283.21278 157.33333,302.47815 157.33333,322&amp;quot;/&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&amp;nbsp;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Path Stretch=&amp;quot;Fill&amp;quot; Stroke=&amp;quot;#FF000000&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot; Margin=&amp;quot;189.5,0,0,122.167&amp;quot; VerticalAlignment=&amp;quot;Bottom&amp;quot; Width=&amp;quot;1.667&amp;quot; Height=&amp;quot;59&amp;quot; Data=&amp;quot;M190,263.33333 C190,282.62739 190.66667,301.97267 190.66667,321.33333&amp;quot;/&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&amp;nbsp;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Path Stretch=&amp;quot;Fill&amp;quot; Stroke=&amp;quot;#FF000000&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot; Margin=&amp;quot;156.833,0,0,152.167&amp;quot; VerticalAlignment=&amp;quot;Bottom&amp;quot; Width=&amp;quot;36.334&amp;quot; Height=&amp;quot;2.503&amp;quot; Data=&amp;quot;M157.33333,291.33333 C168.83269,289.12798 180.58536,290 192.66667,290&amp;quot;/&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&amp;nbsp;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Path Stretch=&amp;quot;Fill&amp;quot; Stroke=&amp;quot;#FF000000&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot; Margin=&amp;quot;198.432,0,0,127.415&amp;quot; VerticalAlignment=&amp;quot;Bottom&amp;quot; Width=&amp;quot;29.565&amp;quot; Height=&amp;quot;27.752&amp;quot; Data=&amp;quot;M214.66667,290 C204.25621,291.76448 202.49111,287.14113 200,303.33333 198.87719,310.63157 195.22353,319.6057 213.33333,314.66667 222.48637,312.17038 240.35052,303.42693 212.66667,289.33333&amp;quot;/&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&amp;nbsp;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Path Stretch=&amp;quot;Fill&amp;quot; Stroke=&amp;quot;#FF000000&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot; Margin=&amp;quot;238.167,0,0,125.5&amp;quot; VerticalAlignment=&amp;quot;Bottom&amp;quot; Width=&amp;quot;1.666&amp;quot; Height=&amp;quot;55.667&amp;quot; Data=&amp;quot;M239.33333,263.33333 C239.33333,281.67256 238.66667,299.67663 238.66667,318&amp;quot;/&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&amp;nbsp;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Path Stretch=&amp;quot;Fill&amp;quot; Stroke=&amp;quot;#FF000000&amp;quot; HorizontalAlignment=&amp;quot;Left&amp;quot; Margin=&amp;quot;246.122,0,0,127.5&amp;quot; VerticalAlignment=&amp;quot;Bottom&amp;quot; Width=&amp;quot;33.045&amp;quot; Height=&amp;quot;34.448&amp;quot; Data=&amp;quot;M276,291.33333 C265.47034,284.113 258.73579,272.80992 249.33333,298.66667 245.70658,308.64023 241.38342,318.87219 268,310 270.13969,303.58094 273.33333,299.49906 273.33333,292 268.11259,304.18173 262.25661,306.1878 278.66667,316&amp;quot;/&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;Resultado: &lt;/p&gt; &lt;p style="text-align:center;"&gt;&lt;/p&gt; &lt;p style="text-align:center;"&gt;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p10-6.jpg" alt="" /&gt; &lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Animaciones &lt;/strong&gt;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;WPF incluye clases que nos permiten generar animaciones de una manera muy sencilla. Dentro de WPF básicamente las animaciones se logran mediante la variación de una o varias propiedades a través del tiempo; éstas propiedades pueden ser el tamaño del objeto, su posición, el color, su opacidad etc. Cuando las propiedades cambian durante el tiempo se percibe el efecto de animación. &lt;/p&gt; &lt;p style="text-align:justify;"&gt;Para crear una animación primero debemos de definir el objeto al cual queremos animar. Durante los siguientes pasos definiremos un círculo que variará su tamaño constantemente. &lt;/p&gt; &lt;p style="text-align:justify;"&gt;1) Antes que nada definimos un círculo con el siguiente código &lt;/p&gt; &lt;p&gt;XAML &lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Ellipse Name=&amp;quot;MiBalon&amp;quot; Height=&amp;quot;50&amp;quot; Width=&amp;quot;50&amp;quot; Stroke=&amp;quot;Black&amp;quot; StrokeThickness=&amp;quot;5&amp;quot;&amp;gt; &lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Ellipse&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;2) Posteriormente utilizaremos la propiedad &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Ellipse.Triggers&lt;/span&gt; que define el suceso o condición que dará inicio a la animación. Existen varios tipos de Triggers como el &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;DataTrigger&lt;/span&gt; que especifica una condición que se debe de cumplir para realizar alguna acción. También tenemos el &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;EventTrigger&lt;/span&gt; que será el objeto que utilizaremos en éste ejemplo y que se usa cuando queremos definir un conjunto de acciones en respuesta a un evento. Cuando utilizamos &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;EventTrigger&lt;/span&gt; debemos definir el evento que debe de suceder para disparar la animación mediante el atributo &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;RoutedEvent&lt;/span&gt;, en este caso, definiremos el evento &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Ellipse.Loaded&lt;/span&gt; es decir: En el momento de que se cargue la &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Ellipse&lt;/span&gt; se iniciará inmediatamente la animación &lt;/p&gt; &lt;p&gt;XAML &lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Ellipse Name=&amp;quot;MiBalon&amp;quot; Height=&amp;quot;50&amp;quot; Width=&amp;quot;50&amp;quot; Stroke=&amp;quot;Black&amp;quot; StrokeThickness=&amp;quot;5&amp;quot;&amp;gt; &lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Ellipse.Triggers&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;EventTrigger RoutedEvent=&amp;quot;Ellipse.Loaded&amp;quot;&amp;gt; &lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/EventTrigger&amp;gt; &lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Ellipse.Triggers&amp;gt; &lt;/span&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Ellipse&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;3) Después de definir el evento utilizaremos las clases &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;StoryBoard y&lt;/span&gt; &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;BeginStoryBoard&lt;/span&gt; que representan una línea de tiempo y su inicio&lt;span style="font-size:8pt;font-family:verdana;"&gt;. &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Ellipse Name=&amp;quot;MiBalon&amp;quot; Height=&amp;quot;50&amp;quot; Width=&amp;quot;50&amp;quot; Stroke=&amp;quot;Black&amp;quot; StrokeThickness=&amp;quot;5&amp;quot;&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Ellipse.Triggers&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;EventTrigger RoutedEvent=&amp;quot;Ellipse.Loaded&amp;quot;&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;BeginStoryboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Storyboard&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Storyboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/BeginStoryboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/EventTrigger&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Ellipse.Triggers&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Ellipse&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;4) Para finalizar la creación de nuestra animación utilizaremos la clase &lt;span style="font-size:10pt;font-family:courier new;"&gt;&lt;span style="color:black;"&gt;DoubleAnimation&lt;/span&gt; &lt;span style="color:black;"&gt;&lt;/span&gt;&lt;/span&gt;que representa una animación que se aplica a aquellas propiedades que sean del tipo &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Double. &lt;/span&gt;De la misma manera existen diferentes tipos de animaciones como&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt; BooleanAnimation &lt;/span&gt;que anima propiedades del tipo&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt; Boolean, ColorAnimation &lt;/span&gt;que&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt; &lt;/span&gt;anima propiedades del tipo &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Color&lt;/span&gt; y así sucesivamente existen objetos de diferentes tipos para animar las propiedades que tienen el tipo de datos compatible con la animación. En nuestro ejemplo podemos apreciar que utilizaremos el atributo &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Duration &lt;/span&gt;que indica el tiempo en el que tiene que ser completada la animación así como los atributos&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt; From &lt;/span&gt;y&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt; To &lt;/span&gt;que representan el valor inicial y el valor final de las propiedades que serán animadas. También utilizamos el atributo&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt; RepeatBehavior &lt;/span&gt;que indica la cantidad de veces que será repetida la animación. El código del ejemplo completo se presenta a continuación. &lt;/p&gt; &lt;p style="text-align:justify;"&gt;XAML &lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Ellipse Name=&amp;quot;MiBalon&amp;quot; Height=&amp;quot;50&amp;quot; Width=&amp;quot;50&amp;quot; Stroke=&amp;quot;Black&amp;quot; StrokeThickness=&amp;quot;5&amp;quot;&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Ellipse.Triggers&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;EventTrigger RoutedEvent=&amp;quot;Ellipse.Loaded&amp;quot;&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;BeginStoryboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Storyboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;DoubleAnimation Duration=&amp;quot;0:0:01&amp;quot; From=&amp;quot;50&amp;quot; To=&amp;quot;250&amp;quot; Storyboard.TargetProperty=&amp;quot;Width&amp;quot; RepeatBehavior=&amp;quot;Forever&amp;quot;/&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;DoubleAnimation Duration=&amp;quot;0:0:01&amp;quot; From=&amp;quot;50&amp;quot; To=&amp;quot;250&amp;quot; Storyboard.TargetProperty=&amp;quot;Height&amp;quot; RepeatBehavior=&amp;quot;Forever&amp;quot;/&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Storyboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/BeginStoryboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/EventTrigger&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Ellipse.Triggers&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Ellipse&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p&gt;El código anterior produce el siguiente resultado: &lt;/p&gt; &lt;p style="text-align:center;"&gt;&lt;img height="239" src="http://www.developersdotnet.com/imagesblogs/mmoran/p10-7.jpg" width="724" alt="" /&gt; &lt;/p&gt; &lt;p style="text-align:justify;"&gt;Además de que podemos utilizar los colores sólidos como el fondo de cualquier objeto que tenga la propiedad &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Background&lt;/span&gt;, también es posible utilizar gradientes. Estos gradientes se establecen a través de brochas (objetos que heredan del tipo &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Brush&lt;/span&gt;) y pueden ser Lineales (&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;LinearGradientBrush&lt;/span&gt;) o Radiales (&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;RadialGradientBrush&lt;/span&gt;). &lt;/p&gt; &lt;p style="text-align:justify;"&gt;En nuestro ejemplo añadiremos un gradiente al fondo del Grid y posteriormente lo animaremos a través de su propiedad &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Offset&lt;/span&gt;. &lt;/p&gt; &lt;p&gt;A continuación utilizaremos para nuestro ejemplo otro tipo de animación llamado &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;ColorAnimation &lt;/span&gt;cuyo objetivo será cambiar de color el fondo (&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;Fill&lt;/span&gt;) del círculo. El XAML requerido es el siguiente. &lt;/p&gt; &lt;p&gt;XAML &lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Grid&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Grid.Background&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;LinearGradientBrush&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;GradientStop Color=&amp;quot;Blue&amp;quot; Offset=&amp;quot;.0&amp;quot;&amp;gt;&amp;lt;/GradientStop&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;GradientStop Color=&amp;quot;Lime&amp;quot; Offset=&amp;quot;.99&amp;quot;&amp;gt;&amp;lt;/GradientStop&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/LinearGradientBrush&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Grid.Background&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Grid.Triggers&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;EventTrigger RoutedEvent=&amp;quot;Grid.Loaded&amp;quot;&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;BeginStoryboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Storyboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;DoubleAnimation Duration=&amp;quot;0:0:02&amp;quot; From=&amp;quot;0.0&amp;quot; To=&amp;quot;.99&amp;quot; Storyboard.TargetProperty=&amp;quot;(Grid.Background).(LinearGradientBrush.GradientStops)[0].(GradientStop.Offset)&amp;quot; RepeatBehavior=&amp;quot;Forever&amp;quot; /&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Storyboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/BeginStoryboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/EventTrigger&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Grid.Triggers&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Ellipse Name=&amp;quot;MiBalon&amp;quot; Height=&amp;quot;50&amp;quot; Width=&amp;quot;50&amp;quot; StrokeThickness=&amp;quot;5&amp;quot;&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Ellipse.Fill&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;SolidColorBrush Color=&amp;quot;Transparent&amp;quot;&amp;gt;&amp;lt;/SolidColorBrush&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Ellipse.Fill&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Ellipse.Triggers&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;EventTrigger RoutedEvent=&amp;quot;Ellipse.Loaded&amp;quot;&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;BeginStoryboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;Storyboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;DoubleAnimation Duration=&amp;quot;0:0:02&amp;quot; From=&amp;quot;50&amp;quot; To=&amp;quot;200&amp;quot; Storyboard.TargetProperty=&amp;quot;Width&amp;quot; RepeatBehavior=&amp;quot;Forever&amp;quot;/&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;DoubleAnimation Duration=&amp;quot;0:0:02&amp;quot; From=&amp;quot;50&amp;quot; To=&amp;quot;200&amp;quot; Storyboard.TargetProperty=&amp;quot;Height&amp;quot; RepeatBehavior=&amp;quot;Forever&amp;quot;/&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;ColorAnimation From=&amp;quot;Red&amp;quot; To=&amp;quot;Yellow&amp;quot; Duration=&amp;quot;0:0:02&amp;quot; Storyboard.TargetProperty=&amp;quot;(Ellipse.Fill).(SolidColorBrush.Color)&amp;quot; RepeatBehavior=&amp;quot;Forever&amp;quot;&amp;gt;&amp;lt;/ColorAnimation&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Storyboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/BeginStoryboard&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/EventTrigger&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Ellipse.Triggers&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Ellipse&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="background:#d9d9d9;"&gt;&lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;&amp;lt;/Grid&amp;gt; &lt;/span&gt;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;&amp;nbsp;&lt;/p&gt; &lt;p style="text-align:justify;"&gt;Como podemos ver para poder animar el gradiente hacemos referencia a la ruta completa de la propiedad a la cual deseamos animar y nos referimos en específico a un &lt;span style="font-size:10pt;color:black;font-family:courier new;"&gt;GradientStop &lt;/span&gt;mediante su índice en la colección. El resultado que obtenemos es el siguiente: &lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p style="text-align:center;"&gt;&amp;nbsp;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p10-8.jpg" alt="" /&gt; &lt;/p&gt; &lt;p&gt;Podemos notar que el color de la circunferencia ha cambiado de color rojo especificado hacia el color amarillo así como también se ha desplazado el gradiente hacia el color azul.&lt;/p&gt; &lt;p&gt;Eso es todo amigos cya next post!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=293" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author></entry><entry><title>Servicios de Workflow: Tracking personalizado, Tracking SQL tracking y Persistencia SQL</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2008/01/23/servicios-de-workflow-tracking-personalizado-tracking-sql-tracking-y-persistencia-sql.aspx" /><id>/blogs/bichi/archive/2008/01/23/servicios-de-workflow-tracking-personalizado-tracking-sql-tracking-y-persistencia-sql.aspx</id><published>2008-01-23T07:48:00Z</published><updated>2008-01-23T07:48:00Z</updated><content type="html">&lt;p&gt;¡Q tranx niños! Desde mi humilde opinión de los principales beneficios
que ofrece el motor de ejecución de Windows Workflow Foundation es que posee la
capacidad de proveer servicios que tienen como objetivo el simplificar las
tareas comunes a los cuales se enfrenta un desarrollador de flujos de trabajo.&lt;/p&gt;

&lt;p&gt;El primero de los servicios que
cubriremos en nuestro estudio ese servicio denominado &amp;quot;&lt;i&gt;Tracking Services&lt;/i&gt;&amp;quot; que puede ser utilizados para una gran cantidad
de objetivos.&lt;/p&gt;

&lt;p&gt;Podemos definir a &lt;i&gt;Tracking Services&lt;/i&gt; como el servicio que
proporciona automáticamente el rastreo y/o seguimiento de la ejecución de
cualquier instancia de un flujo de trabajo. Esta característica es
particularmente importante debido a que en los flujos de trabajo muchas veces
nos interesa saber qué actividades fueron ejecutadas y&amp;nbsp; en general el camino que se siguió el motor
de ejecución para completar determinado&amp;nbsp;
flujo de trabajo.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;

&lt;p&gt;El panorama en el cual a nosotros
podemos hacer uso de esta característica es realmente amplio: Por ejemplo:
Cuando utilizamos a WorkFlow Foundation como un proveedor de servicios de
orquestación en un panorama de Enterprise Service Bus dentro de una
arquitectura orientada servicios&amp;nbsp; es
sumamente importante conocer los&amp;nbsp;
servicios que fueron invocados desde la orquestación y los usuarios que
utilizaron el sistema, en este escenario podemos utilizar los &lt;i&gt;Tracking&amp;nbsp;
services&lt;/i&gt; para monitorear la actividad que se está generando el
momento de ejecutar los flujos de trabajo involucrados en orquestación de los
servicios, en otras palabras la utilización de estos servicios será
efectivamente en los escenarios de auditoría de monitoreo de flujos de trabajo.&lt;/p&gt;

&lt;p&gt;Para poder acceder a los
servicios que ofrece &lt;i&gt;Tracking services&lt;/i&gt;
hacemos uso del espacio de nombres System.Workflow.Runtime.Tracking&lt;b&gt; &lt;/b&gt;que contiene las clases que nos permitirán generar ya
sea a nuestra propia solución de monitoreo y seguimiento &amp;nbsp;de los flujos de trabajo o bien podemos
utilizar soluciones que ya vienen listas para usarse como el SQL tracking
service.&lt;/p&gt;

&lt;p&gt;Antes de continuar los
adentraremos un poco al arquitectura de &lt;i&gt;Tracking
Services.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;Básicamente existen tres
componentes principales dentro del arquitectura de los &lt;i&gt;Tracking services&lt;/i&gt; y estos son: &lt;/p&gt;

&lt;p&gt;&lt;b&gt;1.
Tracking Profiles (perfiles de seguimiento)&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Los perfiles de seguimiento representan
la manera con la cuál es posible identificar los orígenes y las fuentes de los eventos
que deseamos capturar dentro del monitoreo del flujo de trabajo. Estos perfiles
son indispensables al momento de generar nuestra propia solución de seguimiento.
Existen tres tipos de eventos o sucesos a los cuales nos podemos suscribir para
monitorearlos&lt;/p&gt;

&lt;p&gt;&lt;b&gt;a) Workflow Events (Eventos
del flujo de trabajo):&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Estos eventos surgen a nivel de instancia y son
equivalentes a los eventos a los cuales nos suscribimos al momento de invocar
un flujo de trabajo. Como ejemplo de estos flujos tenemos los eventos:&amp;nbsp; Created,
Terminated, Suspended etc.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;b) Activity Events
(eventos de las actividades)&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;Estos eventos son generados por las actividades que están
siendo ejecutadas dentro de la instancia del flujo de trabajo. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;c) User Events
(Eventos de usuario):&lt;/b&gt; &lt;/p&gt;

&lt;p&gt;Existen ocasiones en las cuales es
necesario obtener información adicional sobre lo que está sucediendo en un
determinado flujo de trabajo y que no necesariamente corresponde a la situación
de la instancia del mismo flujo de trabajo o de alguna de sus actividades sino
que es necesario generar un suceso personalizado para capturar determinado
comportamiento del flujo de trabajo. &lt;/p&gt;

&lt;p&gt;Para cada uno de los eventos
descritos previamente existe una clase específica que guarda información sobre
los mismos. Nos referimos a las clases WorkflowTrackingRecord ActivityTrackingRecord
y UserTrackingRecord
respectivamente&lt;/p&gt;


&lt;p&gt;&amp;nbsp;&lt;b&gt;2. Tracking Runtime&lt;/b&gt; (Motor de
ejecución de los servicios de seguimiento)&lt;/p&gt;

&lt;p&gt;El motor de ejecución de los servicios de seguimiento de
los flujos de trabajo se encarga de iniciarlo servicios de monitoreo que han
sido declarados antes de la invocación de la instancia del flujo de trabajo que
deseamos monitorear para hacer esto utiliza la información encontrada dentro de
los perfiles de seguimiento.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;3. Channels
(Canales)&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Los &amp;nbsp;canales de
monitoreo se usan para enviar los registros asociados a la instancia del flujo
de trabajo cuando se encuentra un tracking point que es la clase genérica que
recibe información de lo que está sucediendo dentro del flujo de trabajo.&lt;/p&gt;


&lt;p&gt;&amp;nbsp;Crearemos a continuación la implementación básica de un
servicio de seguimiento personalizado.&lt;/p&gt;

&lt;p&gt;1) &amp;nbsp;Iniciaremos con
una forma a la que llamaremos FormaInicio,
en la cual colocaremos dos etiquetas, una de las cuales usaremos como el
receptor de la información que generan las actividades del flujo de trabajo, y
otra como los mensajes que genera el servicio de seguimiento (Tracking Service)
que generaremos en este ejemplo. &lt;/p&gt;

&lt;p align="center"&gt;
 
 
  
  
  
  
  
  
  
  
  
  
  
  
 
 
 
 
&lt;img height="285" width="434" alt="" /&gt;&lt;/p&gt;

&lt;p align="center"&gt;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p9-1.jpg" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;2) Añadiremos a continuación a la solución un flujo de
trabajo secuencial y agregaremos una actividad del tipo codeActivity&lt;/p&gt;

&lt;p align="center"&gt;
 
&lt;img height="360" width="502" alt="" /&gt;&lt;/p&gt;

&lt;p align="center"&gt;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p9-2.jpg" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;3) En el código de codeActivity1 simplemente escribiremos en
la etiqueta un mensaje con el siguiente código&lt;/p&gt;
&lt;p&gt;C#&amp;nbsp;&lt;/p&gt;

&lt;p&gt;
&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;
 
&lt;tr&gt;
  
&lt;td&gt;
  
&lt;table cellpadding="0" cellspacing="0"&gt;
   
&lt;tr&gt;
    
&lt;td&gt;
    
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private
    void codeActivity1_ExecuteCode(object sender, EventArgs
    e)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Programa.FormaInicio.lblMensaje.Text += &amp;quot;MENSAJE DESDE LA CODEACTIVITY1\n&amp;quot;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
    &lt;/td&gt;
   &lt;/tr&gt;
  &lt;/table&gt;
  &amp;nbsp;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;
&lt;br /&gt;
4) Posteriormente vamos a invocar la ejecución del flujo de
trabajo en el manejador de evento del clic del botón de la forma y generaremos
la suscripción al evento WorkFlowCompleted del flujo de trabajo con el código
que aparece a continuación&lt;/p&gt;
&lt;p&gt;C#&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;
 
&lt;tr&gt;
  
&lt;td&gt;
  
&lt;table cellpadding="0" cellspacing="0"&gt;
   
&lt;tr&gt;
    
&lt;td&gt;
    
    
&lt;p&gt;&amp;nbsp;
    private void
    button1_Click(object sender, EventArgs e)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkflowRuntime
    MotorWF = new WorkflowRuntime();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type
    Tipo = typeof(Workflow1);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkflowInstance
    InstanciaWF = MotorWF.CreateWorkflow(Tipo);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstanciaWF.Start();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.WorkflowCompleted +=&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new
    EventHandler&amp;lt;WorkflowCompletedEventArgs&amp;gt;(MotorWF_WorkflowCompleted);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void
    MotorWF_WorkflowCompleted(object sender, WorkflowCompletedEventArgs e)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&amp;quot;¡El
    flujo de trabajo fue finalizado!&amp;quot;);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;}&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
    &lt;/td&gt;
   &lt;/tr&gt;
  &lt;/table&gt;
  &amp;nbsp;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;











&lt;p&gt;&amp;nbsp;&lt;br /&gt;Al momento de ejecutar el código previamente mostrado en la
etiqueta que recibe la información generada desde flujo de trabajo deberá
aparecer el mensaje &amp;quot;MENSAJE DESDE LA
CODEACTIVITY1&amp;quot;&lt;/p&gt;

&lt;p&gt;5) Hemos llegado al momento en el
cuál propiamente iniciaremos el desarrollo del servicio de tracking. Añadiremos
una nueva clase a nuestro proyecto que denominaremos ServicioSeguimiento. Esta clase deberá heredar de la
clase TrackingService que es la clase
abstracta base que provee la interfase entre un servicio de seguimiento y el motor de ejecución de los
servicios de seguimiento que mencionamos anteriormente en los conceptos de
arquitectura de este capítulo.&lt;/p&gt;

&lt;p&gt;Para generar exitosamente una
clase que pueda ser consumida por el motor de seguimiento es necesario sobreescribir
(hacer override) los siguientes miembros de la clase base TrackingService.&lt;/p&gt;

&lt;ul class="unIndentedList"&gt;
&lt;li&gt;
GetProfile(Guid),
&lt;/li&gt;
&lt;li&gt;
GetProfile(Type,
Version)&lt;/li&gt;
&lt;li&gt;
TryGetProfile&lt;/li&gt;
&lt;li&gt;
GetTrackingChannel&lt;/li&gt;
&lt;li&gt;
TryReloadProfile.&lt;/li&gt;
&lt;/ul&gt;





&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;El motor de ejecución de los
servicios de seguimiento solicita un objeto del tipo TrackingChannel para cada una de las instancias que
tienen un TrackingProfile asignado y usa este TrackingChannel para mandar los
registros asociados a dar una instancia de flujo de trabajo.&amp;nbsp; Dentro de la definición del TrackingProfile se debe de especificar
cuáles serán los eventos que serán monitoreados y cuya información es recibida
por un TrackingRecord que como vimos
anteriormente, puede tener como clases concretas los tipos: &amp;nbsp;ActivityTrackingRecord, &amp;nbsp;UserTrackingRecord o WorkflowTrackingRecord.&lt;/p&gt;

&lt;p&gt;Posteriormente la infraestructura
de WF manda a llamar el método TryReloadProfile para verificar si se debe recargar el Profile.
Este proceso permite a un cliente o a un servicio cambiar un profile de
seguimiento cambiar dinámicamente.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;C#&lt;/p&gt;

&lt;p&gt;
 

&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;
 
&lt;tr&gt;
  
&lt;td&gt;
  
&lt;table cellpadding="0" cellspacing="0"&gt;
   
&lt;tr&gt;
    
&lt;td&gt;
    
    
&lt;p&gt;&amp;nbsp;
    &lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;
    public class
    ServicioSeguimiento : TrackingService&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected
    override bool
    TryGetProfile(Type workflowType, out TrackingProfile
    profile)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //El&amp;nbsp; objetivo de
    este método es que el motor de seguimiento&amp;nbsp;
    &lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //dependiendo del tipo de WF el servicio puede utilizar
    diferentes tracking&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //profiles. Aunque es necesario hacer el override en
    este ejemplo utilizaremos&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //para que el ejemplo compile en esta muestra usaremos&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //el mismo profile para cualquier WF&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; profile = ObtenerProfile();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return
    true;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected
    override TrackingProfile
    GetProfile(Guid workflowInstanceId)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // No será implementado para este ejemplo&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new
    NotImplementedException(&amp;quot;No implementado&amp;quot;);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
    &lt;/td&gt;
   &lt;/tr&gt;
  &lt;/table&gt;
  &amp;nbsp;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;


&lt;p&gt;
  
 
 &lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;
  
&lt;tr&gt;
   
&lt;td&gt;
   
&lt;table cellpadding="0" cellspacing="0"&gt;
    
&lt;tr&gt;
     
&lt;td&gt;
     
     
&lt;p&gt;&amp;nbsp;
     &lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected
     override TrackingProfile
     GetProfile(Type workflowType, Version profileVersionId)&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return
     ObtenerProfile();&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected
     override bool
     TryReloadProfile(Type workflowType, Guid workflowInstanceId, out TrackingProfile
     profile)&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // En este caso siempre regresamos falso indicando que
     no hay nuevos profiles&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; profile = null;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return
     false;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected
     override TrackingChannel
     GetTrackingChannel(TrackingParameters
     parametros)&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //El motor de WF llama este método para obtener el
     canal para la instancia de monitoreo&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return new
     CanaldeSeguimiento(parametros);&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private
     TrackingProfile ObtenerProfile()&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //
     Creamos un&amp;nbsp; Tracking Profile&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; TrackingProfile
     profile = new TrackingProfile();&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; profile.Version
     = new Version(&amp;quot;3.0.0&amp;quot;);&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;// En este
     caso monitorearemos específicamente actividades, no otro tipo de eventos&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActivityTrackPoint PuntoSeguimiento = new ActivityTrackPoint();&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActivityTrackingLocation
     LocacionActividad = new ActivityTrackingLocation(typeof(Activity));&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LocacionActividad.MatchDerivedTypes
     = true;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Con este código se registran todos los posibles
     estados&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; IEnumerable&amp;lt;ActivityExecutionStatus&amp;gt;
     estados = Enum.GetValues(typeof(ActivityExecutionStatus))
     as IEnumerable&amp;lt;ActivityExecutionStatus&amp;gt;;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach
     (ActivityExecutionStatus estado in estados)&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
     LocacionActividad.ExecutionStatusEvents.Add(estado);&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
     PuntoSeguimiento.MatchingLocations.Add(LocacionActividad);&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; profile.ActivityTrackPoints.Add(PuntoSeguimiento);&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return
     profile;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
     
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
     
     &lt;/td&gt;
    &lt;/tr&gt;
   &lt;/table&gt;
   &amp;nbsp;&lt;/td&gt;
  &lt;/tr&gt;
 &lt;/table&gt;
 &amp;nbsp;

&lt;br /&gt;

&lt;p&gt;Como podemos ver en el código
presentado anteriormente el método GetTrackingChannel
devuelve un objeto del tipo TrackingChannel donde
en este caso específicamente estaremos enviando a la forma la información que
ha sido monitoreada automáticamente al momento de ser ejecutado el flujo de
trabajo.&lt;/p&gt;

&lt;p&gt;6) A continuación añadiremos a
nuestro programa una nueva clase denominada CanaldeSeguimiento que heredará de TrackingChannel cuyo objetivo será manejar
para persistirlos. En nuestro ejemplo simplemente se envía la información
recopilada a la etiqueta que se encuentra en la forma.&lt;/p&gt;

&lt;p&gt;De esta clase es necesario sobre
escribir los métodos heredados desde la clase abstracta Send y InstanceCompletedOrTerminated para lograr un código
como el siguiente:&lt;/p&gt;

&lt;p&gt;
 

&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;
 
&lt;tr&gt;
  
&lt;td&gt;
  
&lt;table cellpadding="0" cellspacing="0"&gt;
   
&lt;tr&gt;
    
&lt;td&gt;
    
    
&lt;p&gt;&amp;nbsp;
    &lt;/p&gt;
    
&lt;p&gt;public class
    CanaldeSeguimiento : TrackingChannel&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private
    TrackingParameters Parametros = null;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected CanaldeSeguimiento()&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public
    CanaldeSeguimiento(TrackingParameters
    parametros)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Parametros = parametros;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Este
    es el método que se ejecuta para realizar el registro de la actividad
    generada por el WF&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected override void Send(TrackingRecord
    Registro)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ActivityTrackingRecord
    RegistroActividad = (ActivityTrackingRecord)Registro;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Programa.FormaInicio.lblSeguimiento.Text+=&amp;quot;Hora: &amp;quot; +
    RegistroActividad.EventDateTime.ToString();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Programa.FormaInicio.lblSeguimiento.Text
    += &amp;quot;Fecha: &amp;quot; +
    RegistroActividad.QualifiedName.ToString();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Programa.FormaInicio.lblSeguimiento.Text += &amp;quot;Tipo:
    &amp;quot; + RegistroActividad.ActivityType;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Programa.FormaInicio.lblSeguimiento.Text += &amp;quot;Estado: &amp;quot; +
    RegistroActividad.ExecutionStatus.ToString();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Se
    llama cuando se termina de ejecutar la instancia&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; protected override void InstanceCompletedOrTerminated()&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&amp;quot;Se terminó la instancia&amp;quot;);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
    &lt;/td&gt;
   &lt;/tr&gt;
  &lt;/table&gt;
  &amp;nbsp;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;




&lt;p&gt;Hemos descrito entonces los pasos
básicos para generar un servicio de seguimiento personalizado para cualquier
instancia de un flujo de trabajo, que monitorea la ejecución de actividades y
en este caso muestra la información a la etiqueta definida en nuestra forma principal
oct.&lt;/p&gt;

&lt;p&gt;Lo único que falta para que
nuestro &lt;i&gt;Tracking Service&lt;/i&gt;
personalizado funcione es agregar el servicio al momento de que se invocan las
islas de los flujos de trabajo es decir, en el&amp;nbsp;
debemos de modificar nuestra invocación con la siguiente línea de código&lt;/p&gt;

&lt;p&gt;
&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;
 
&lt;tr&gt;
  
&lt;td&gt;
  
&lt;table cellpadding="0" cellspacing="0"&gt;
   
&lt;tr&gt;
    
&lt;td&gt;
    
    
&lt;p&gt;&amp;nbsp;
    private void
    button1_Click(object sender, EventArgs e)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkflowRuntime
    MotorWF = new WorkflowRuntime();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Añadimos
    el servicio que acabamos de crear&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.AddService(new ServicioSeguimiento());&lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type Tipo = typeof(Workflow1);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkflowInstance
    InstanciaWF = MotorWF.CreateWorkflow(Tipo);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstanciaWF.Start();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.WorkflowCompleted +=&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new
    EventHandler&amp;lt;WorkflowCompletedEventArgs&amp;gt;(MotorWF_WorkflowCompleted);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void
    MotorWF_WorkflowCompleted(object sender, WorkflowCompletedEventArgs e)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&amp;quot;¡El
    flujo de trabajo fue finalizado!&amp;quot;);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;}&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
    &lt;/td&gt;
   &lt;/tr&gt;
  &lt;/table&gt;
  &amp;nbsp;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Al momento de ejecutar el código anterior y
oprimir el botón de invocación del flujo de trabajo podemos observar cómo el
motor de ejecución de Workflow Foundation ejecuta los diferentes métodos
definidos en las clases ServicioSeguimiento y CanaldeSeguimiento y muestra en
la forma el resultado del seguimiento del flujo de trabajo
&lt;/p&gt;
&lt;p&gt;
 
&lt;img height="352" width="537" alt="" /&gt;&lt;/p&gt;

&lt;p align="center"&gt;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p9-3.jpg" height="352" width="537" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;Como pudimos observar los ejemplo
anterior podemos hacer un seguimiento muy específico de todas las situaciones
que están ocurriendo durante la ejecución de nuestro flujo de trabajo para
llevar a una auditoría muy a detalle de lo que sucede en el WF; sin embargo no
siempre es necesario programar lo que hemos visto previamente sino que WF
incluye una solución ya lista para usarse basada en SQL Server que se denomina
SQLTracking y que hace lo mismo que vimos anteriormente pero su persistencia es
evidentemente el servidor de base de datos SQL Server y nosotros lucharemos que
programar absolutamente nada porque todo ya está hecho. Cabe señalar que ésta
implementación utiliza la misma técnica y usa como clase de bases las mismas
clases que utilizamos para nuestro tracking service personalizado.&lt;/p&gt;

&lt;p&gt;Para poder utilizar esta
funcionalidad es necesario tener instalada correctamente una instancia de SQL
Server 2005 (Express o cualquier versión comercial) y ejecutar unos scripts que
se distribuyen con la instalación del .NET Framework 3.0 y que se encuentran en
C:\WINDOWS\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation\SQL\EN&lt;/p&gt;

&lt;p&gt;Estos scripts son:&lt;/p&gt;

&lt;ul class="unIndentedList"&gt;
&lt;li&gt; &lt;b&gt;&lt;i&gt;Tracking_Schema.sql&lt;/i&gt;&lt;/b&gt; Crea la estructura de SQLTracking en la BDD.&lt;/li&gt;
&lt;li&gt;
&lt;b&gt;&lt;i&gt;Logic_Schema.sql&lt;/i&gt;&lt;/b&gt;, Crea la lógica de negocio de SQLTracking
en la BDD.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Modificando nuestro ejemplo
previo agregaremos ahora el servicio SqlTrackingService que como podemos ver contiene
un constructor sobrecargado en el cual le pasaremos como parámetro la cadena de
conexión que indica la instancia y el nombre de la base de datos de SQL Server.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;
 

&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;
 
&lt;tr&gt;
  
&lt;td&gt;
  
&lt;table cellpadding="0" cellspacing="0"&gt;
   
&lt;tr&gt;
    
&lt;td&gt;
    
    
&lt;p&gt;private void
    button1_Click(object sender, EventArgs e)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkflowRuntime
    MotorWF = new WorkflowRuntime();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.AddService(new ServicioSeguimiento());&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Agregamos servicio SQLTrackingService;&lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.AddService(new &lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlTrackingService(@&amp;quot;Data
    Source=.\sqlexpress;&amp;quot; +&lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;Initial Catalog=Tracking;Integrated Security=sspi&amp;quot;));&lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type
    Tipo = typeof(Workflow1);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkflowInstance
    InstanciaWF = MotorWF.CreateWorkflow(Tipo);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstanciaWF.Start();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.WorkflowCompleted +=&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new
    EventHandler&amp;lt;WorkflowCompletedEventArgs&amp;gt;(MotorWF_WorkflowCompleted);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
    &lt;/td&gt;
   &lt;/tr&gt;
  &lt;/table&gt;
  &amp;nbsp;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;


&lt;p&gt;&amp;nbsp;&lt;/p&gt;









&lt;p&gt;Podemos ahora
ir al Management Studio de SQL Server y ejecutar el siguiente query que nos
mostrará la efectividad del SqlTrackingService:&lt;/p&gt;

&lt;p&gt;T-SQL&lt;/p&gt;

&lt;p&gt;
&lt;/p&gt;
&lt;table align="left" cellpadding="0" cellspacing="0"&gt;
 
&lt;tr&gt;
  
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
 
&lt;tr&gt;
  
&lt;td&gt;&lt;br /&gt;&lt;/td&gt;
  
&lt;td&gt;
  
&lt;table cellpadding="0" cellspacing="0"&gt;
   
&lt;tr&gt;
    
&lt;td&gt;
    
    
&lt;p&gt;SELECT&amp;nbsp;
    TrackingWorkflowEvent.Description as Evento, &lt;/p&gt;
    
&lt;p&gt;WorkflowInstanceEvent.EventDateTime as HoraInicial, &lt;/p&gt;
    
&lt;p&gt;WorkflowInstance.WorkflowInstanceId as InstanciaWF, &lt;/p&gt;
    
&lt;p&gt;Type.TypeFullName as NombreWF&lt;/p&gt;
    
&lt;p&gt;FROM&amp;nbsp;&amp;nbsp;
    WorkflowInstanceEvent &lt;/p&gt;
    
&lt;p&gt;INNER JOIN
    TrackingWorkflowEvent ON &lt;/p&gt;
    
&lt;p&gt;WorkflowInstanceEvent.TrackingWorkflowEventId
    = TrackingWorkflowEvent.TrackingWorkflowEventId AND
    &lt;/p&gt;
    
&lt;p&gt;WorkflowInstanceEvent.TrackingWorkflowEventId
    = TrackingWorkflowEvent.TrackingWorkflowEventId&lt;/p&gt;
    
&lt;p&gt;INNER JOIN
    WorkflowInstance ON&lt;/p&gt;
    
&lt;p&gt;WorkflowInstance.WorkflowInstanceInternalId=WorkflowInstanceEvent.WorkflowInstanceInternalId
    &lt;/p&gt;
    
&lt;p&gt;INNER JOIN
    Type ON&lt;/p&gt;
    
&lt;p&gt;Type.TypeId = WorkflowInstance.WorkflowTypeId&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
    &lt;/td&gt;
   &lt;/tr&gt;
  &lt;/table&gt;
  &amp;nbsp;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;

&amp;nbsp;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;br /&gt;

&lt;p&gt;El query
anterior nos mostrará el siguiente resultado&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p9-4.jpg" height="110" width="596" alt="" /&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;u&gt;Persistencia&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Existe otro
concepto muy importante dentro de los flujos de trabajo y que también es provisto
mediante los servicios de ejecución del motor de flujos de trabajo de Workflow
Foundation es la persistencia. Este concepto se le denomina persistencia y es
utilizada siempre que se requiere recordar el estado de una determinada
instancia de un flujo de trabajo para posteriormente ocuparla en otro momento
del tiempo. Este tipo de flujos de trabajo son muy utilizados en los flujos
humanos es decir aquellos en los cuales intervienen diferentes miembros una
organización y cada uno completa una parte de las actividades específicas
dentro del flujo de trabajo pero no lo hacen todos al mismo tiempo sino que
cada quien interviene con sus actividades del flujo en momentos discontinuos.
El motor de flujos de trabajo sobre una solución extremadamente simple y fácil
de utilizar para implementar este tipo de flujo de trabajo también denominados
flujos de trabajo de ejecución larga (&lt;i&gt;Long
running workflows&lt;/i&gt;)&lt;/p&gt;

&lt;p&gt;Los servicios
de persistencia de Workflow Foundation se encargan de guardar el estado de
cualquier instancia de los flujos de trabajo en lo hacen de una manera
transparente automática al momento de que ocurre algún evento que haga que el
flujo de trabajo entre en un estado de suspensión es decir toda la información
referente al flujo se serializa en un medio persistente (de ahí el nombre)&lt;/p&gt;

&lt;p&gt;Modificaremos
ahora el proyecto previamente usado para verificar el funcionamiento de los
servicios de persistencia de WF. &lt;/p&gt;

&lt;p&gt;1) Lo primero
que haremos será modificar nuestro flujo de trabajo agregando una actividad del
tipo SuspendActivity y&amp;nbsp; otra CodeActivity
después de la primera, cuyo código será: Programa.FormaInicio.lblMensaje.Text += &amp;quot;MENSAJE DESDE LA CODEACTIVITY2\n&amp;quot;;&lt;/p&gt;

&lt;p align="center"&gt;
 
&lt;img height="327" width="456" alt="" /&gt;&lt;/p&gt;

&lt;p align="center"&gt;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p9-5.jpg" height="339" width="445" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;2)
Modificaremos también la forma principal del proyecto (frmInicio) y le
agregaremos una caja de texto, así como un botón adicional, de tal manera que
quede parecida a la siguiente:&lt;/p&gt;

&lt;p align="center"&gt;
 
&lt;img height="230" width="319" alt="" /&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p9-6.jpg" alt="" /&gt;&lt;br /&gt;&lt;/blockquote&gt;

&lt;p&gt;3)
Modificaremos ahora la invocación del flujo de trabajo en el primer botón para
añadir el servicio de SqlWorkflowPersistenceService
que se encuentra dentro del espacio de nombres
System.Workflow.Runtime.Hosting, así mismo agregaremos un manejador de eventos
para que el host se suscriba al evento que generará la SuspendActivity y que
notificará al host de dicha suspensión &amp;nbsp;tal modo que la inicialización del motor del flujo
de trabajo deberá parecerse a la siguiente:&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;
&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;
 
&lt;tr&gt;
  
&lt;td&gt;
  
&lt;table cellpadding="0" cellspacing="0"&gt;
   
&lt;tr&gt;
    
&lt;td&gt;
    
    
&lt;p&gt;&amp;nbsp;
    private void
    button1_Click(object sender, EventArgs e)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkflowRuntime
    MotorWF = new WorkflowRuntime();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.AddService(new ServicioSeguimiento());&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Agregamos
    servicio SQLTrackingService;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.AddService(new &lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlTrackingService(@&amp;quot;Data Source=.\sqlexpress;&amp;quot; +&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;Initial
    Catalog=WF;Integrated Security=sspi&amp;quot;));&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;b&gt;//Agregamos
    servicio de persistencia&lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.AddService(new &lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;b&gt;SqlWorkflowPersistenceService&lt;/b&gt;&lt;b&gt; (@&amp;quot;Data Source=.\sqlexpress;&amp;quot;
    +&lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;Initial Catalog=WF;Integrated
    Security=sspi&amp;quot;));&lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Type
    Tipo = typeof(Workflow1);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkflowInstance
    InstanciaWF = MotorWF.CreateWorkflow(Tipo);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.WorkflowCompleted +=&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new
    EventHandler&amp;lt;WorkflowCompletedEventArgs&amp;gt;(MotorWF_WorkflowCompleted);&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Nos
    suscribimos a la suspensión del flujo de trabajo por la SuspendActivity&lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;// que añadimos al WF.&lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;b&gt;MotorWF.WorkflowSuspended +=&lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new EventHandler&amp;lt;WorkflowSuspendedEventArgs&amp;gt;(MotorWF_WorkflowSuspended);&lt;/b&gt;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstanciaWF.Start();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
    &lt;/td&gt;
   &lt;/tr&gt;
  &lt;/table&gt;
  &amp;nbsp;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;
















&lt;p&gt;&lt;br /&gt;4) En el manejador de de eventos
determinado por la función &lt;b&gt;MotorWF_WorkflowSuspended &lt;/b&gt;agregaremos el siguiente
código para obtener el id de instancia del WF que usaremos posteriormente para
solicitar al motor de WF que reactive el flujo de trabajo persistido. Haremos
esto mediante el siguiente código.&lt;/p&gt;

&lt;p&gt;C#&lt;/p&gt;


&lt;p&gt;
&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;
 
&lt;tr&gt;
  
&lt;td&gt;
  
&lt;table cellpadding="0" cellspacing="0"&gt;
   
&lt;tr&gt;
    
&lt;td&gt;
    
    
&lt;p&gt;&amp;nbsp;
    void MotorWF_WorkflowSuspended(object sender, WorkflowSuspendedEventArgs
    e)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.WorkflowInstance.Unload();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(&amp;quot;WF Persistido!!!&amp;quot;);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Agregamos
    el id de instancia a caja de texto para hacer la reactivacion&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.textBox1.Text =
    e.WorkflowInstance.InstanceId.ToString();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
    &lt;/td&gt;
   &lt;/tr&gt;
  &lt;/table&gt;
  &amp;nbsp;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;
&amp;nbsp;



&lt;br /&gt;
&lt;p&gt;5)Para
finalizar, al nuevo botón que acabamos de agregar le añadiremos el siguiente
código que invoca a los servicios de persistencia para reactivar el flujo de
trabajo previamente persistido (debido a que fue suspendido y descargado en el
paso previo) utilizando como su identificador el id de la instancia que se
encuentra en la caja de texto.
&lt;/p&gt;
&lt;p&gt;C#&lt;/p&gt;

&lt;p&gt;
&lt;/p&gt;
&lt;table cellpadding="0" cellspacing="0"&gt;
 
&lt;tr&gt;
  
&lt;td&gt;
  
&lt;table cellpadding="0" cellspacing="0"&gt;
   
&lt;tr&gt;
    
&lt;td&gt;
    
    
&lt;p&gt;&amp;nbsp;
    private void
    button2_Click(object sender, EventArgs e)&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkflowRuntime
    MotorWF = new WorkflowRuntime();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.AddService(new&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SqlWorkflowPersistenceService(@&amp;quot;Data Source=.\sqlexpress;&amp;quot; +&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;Initial
    Catalog=WF;Integrated Security=sspi&amp;quot;));&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.StartRuntime();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MotorWF.WorkflowCompleted +=&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new
    EventHandler&amp;lt;WorkflowCompletedEventArgs&amp;gt;(MotorWF_WorkflowCompleted);&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WorkflowInstance
    InstanciaWF = MotorWF.GetWorkflow(new Guid(this.textBox1.Text));&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InstanciaWF.Resume();&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
    
    &lt;/td&gt;
   &lt;/tr&gt;
  &lt;/table&gt;
  &amp;nbsp;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;
&amp;nbsp;









&lt;br /&gt;
&lt;p&gt;&lt;br /&gt;6) Al ejecutar
el flujo de trabajo podemos observar que la instancia es suspendida después de
que se ejecuta la primera actividad de código, y posteriormente la caja de
texto adquiere el GUID que representa la instancia del WF.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
 
&lt;img height="363" width="503" alt="" /&gt;&lt;/p&gt;

&lt;p align="center"&gt;&lt;img src="http://www.developersdotnet.com/IMAGESBLOGS/mmoran/p9-7.jpg" alt="" /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;7) Al oprimir el botón con el
texto Reactivar WF se reactivará el flujo de trabajo persistido mediante
SQLPersistenceServices y el motor de ejecución de WF completará el proceso&amp;nbsp; de ejecución del flujo de trabajo.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img src="http://www.developersdotnet.com/imagesblogs/mmoran/p9-8.jpg" height="420" width="575" alt="" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/blockquote&gt;&lt;p&gt;



Bueno pues ojalá les haya latido el artículo. El código fuente completo de este artículo &lt;a href="http://www.developersdotnet.com/imagesblogs/mmoran/wfdemos.zip"&gt;está aqui&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;No se despeguen de este blog porque vienen cosas interesantes.&lt;/p&gt;&lt;p&gt;Antes de irme a dormir, algunas cosas:&amp;nbsp;&lt;/p&gt;&lt;p&gt;a) Estamos organizando algo muy padre para juntarnos y platicar sobre tecnología aquí en la Ciudad de México. Muy pronto más detalles.&lt;/p&gt;&lt;p&gt;b) Ultimamente he tenido el gusto de recibir bastante correspondencia de ustedes, mis queridisimos lectores (jajaja chale ke gay) el caso es que me da mucho gusto que me escriban :) pero les recomiendo que lo hagan en los foros de este espacio para que las dudas y las respuestas puedan estar disponibles para todos, de todos modos les seguiré contestando pero si son dudas netamente técnicas (como la mayoría de los mails que he recibido estos dias) les pediría que lo pongan acá en los foros, ah ahora que me acuerdo hay gente que me comenta que no recibe el mail de confirmación cuando se registran. El buen Victor Alameda seguramente pronto verificará que onda con el sistema.&lt;/p&gt;&lt;p&gt;&amp;nbsp;Un abrazo, coman sano, con y sin albur.&lt;/p&gt;&lt;p&gt;Maic.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=286" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author><category term="Workflow Foundation" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Workflow+Foundation/default.aspx" /><category term="Tracking Services" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Tracking+Services/default.aspx" /><category term="Persistence Services" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Persistence+Services/default.aspx" /></entry><entry><title>Conceptos sobre programación funcional y las mejoras sintácticas de C# 3.0 y VB 9.0</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2007/12/31/conceptos-sobre-programaci-243-n-funcional-y-las-mejoras-sint-225-cticas-de-c-3-0-y-vb-9-0.aspx" /><id>/blogs/bichi/archive/2007/12/31/conceptos-sobre-programaci-243-n-funcional-y-las-mejoras-sint-225-cticas-de-c-3-0-y-vb-9-0.aspx</id><published>2007-12-31T13:53:00Z</published><updated>2007-12-31T13:53:00Z</updated><content type="html">
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;u&gt;Conceptos sobre
programación funcional y las mejoras sintácticas de C# 3.0 y VB 9.0&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Hola niños ¡Estamos a unas horas del 2008! Espero que se
encuentren muy bien y Santa Claus les haya traído algo más que nuevos depósitos
de grasa en su puerquecito. Me quería despedir del 2007, con un artículo para
toda la banda geek que pulula por la red. Deseo sinceramente que el año
venidero esté lleno de Salud, Dinero y Sexo, o como dicen los cursis “Amor”.
¡No todo es computadoras niños, salgan a la calle y busquen a quien amar, puaf,
escupí lengua!&lt;/p&gt;

&lt;p class="MsoNormal"&gt;En fin, al diablo con mi intento de ser gracioso. En este
post podrán encontrar la mayoría de las características sintácticas nuevas que
encontramos en los lenguajes de programación que salieron con la versión de
Visual Studio 2008 (Me refiero a C# 3.0 Y VB 9.0) , o lo que es lo mismo en
este post hablaré de los cambios sintácticos que tienen los lenguajes de
programación de Microsoft para dar soporte a la tecnología denominada LINQ,
además de un breviario sobre programación funcional.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Es importante conocer estos detalles toda vez que si
ignoramos su funcionamiento es muy posible que no podamos explotar cabalidad la
gran cantidad de características que tenemos a nuestra disposición con los
lenguajes.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Bueno&lt;span&gt;&amp;nbsp; &lt;/span&gt;pues ahora comencemos
pues a recorrer las nuevas características que estoy seguro le serán muy
interesantes.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;1) &lt;span&gt;&amp;nbsp;&lt;/span&gt;Inferencia de tipos&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Una de las principales características encontramos en .NET
3.5 es la inferencia de tipos,&lt;/p&gt;

&lt;p class="MsoNormal"&gt;La inferencia de tipos es fundamental para el funcionamiento
de la tecnología LINQ, toda vez que al momento de hacer un query, no es posible
saber el tipo de datos&lt;span&gt;&amp;nbsp; &lt;/span&gt;de la colección
que regresará el mismo query.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Esta característica nos permite utilizar la palabra
reservada &lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;var&lt;/span&gt;
en C#&lt;span&gt;&amp;nbsp; &lt;/span&gt;o &lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;Dim &lt;/span&gt;en conjunto con &lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;Option Infer On&lt;/span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;en Visual Basic para declarar cualquier
variable antes de un query o bien declararla en línea e inicializarla al mismo
tiempo. Automáticamente el compilador de los lenguajes asumirá el tipo de datos
asignado en la inicialización o en la ejecución del query y hará que la
variable sea fuertemente tipeada durante el resto de la ejecución del programa;
como podemos apreciar esto difiere totalmente el funcionamiento Javascript o del
mismo Visual Basic 6.0&lt;span&gt;&amp;nbsp; &lt;/span&gt;con su tipo de
datos Variant, ya que en estos lenguajes es posible cambiar dinámicamente de
tipo de datos, con su correspondiente pérdida de desempeño y la mayor
probabilidad de incurrir en errores de programación en tiempo de ejecución. En
.NET 3.5 esto &lt;b&gt;NO &lt;/b&gt;se da debido a que la
inferencia equipos se hace en tiempo de compilación y no en tiempo de ejecución
como sucede con VB 6.0 &lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Para mostrar esto comenzaremos con crear una simple clase de
discos&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span&gt;C#&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt;
&lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span&gt;Disco&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt;
&lt;span style="color:blue;"&gt;int&lt;/span&gt; Id;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt;
&lt;span style="color:blue;"&gt;string&lt;/span&gt; Titulo;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt;
&lt;span style="color:blue;"&gt;string&lt;/span&gt;&lt;span&gt;&amp;nbsp;
&lt;/span&gt;Interprete;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt;
&lt;span style="color:blue;"&gt;string&lt;/span&gt; Genero;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt;
&lt;span style="color:blue;"&gt;double&lt;/span&gt; Precio;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;}&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span&gt;VB&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;Public&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;
Disco&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt;
Id &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;Integer&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;Public&lt;/span&gt;
Titulo &lt;span style="color:blue;"&gt;As&lt;/span&gt; &lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;Public&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; Interprete &lt;span style="color:blue;"&gt;As&lt;/span&gt;
&lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;Public&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; Genero &lt;span style="color:blue;"&gt;As&lt;/span&gt;
&lt;span style="color:blue;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;Public&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; Precio &lt;span style="color:blue;"&gt;As&lt;/span&gt;
&lt;span style="color:blue;"&gt;Double&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;End&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; &lt;span style="color:blue;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Posteriormente haremos uso de la inferencia de tipos de la
siguiente manera&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;C#&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;var&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; lobjDisco=&lt;span style="color:blue;"&gt;new&lt;/span&gt;
&lt;span&gt;Disco&lt;/span&gt;() ;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDisco.Genero = &lt;span&gt;&amp;quot;Cumbia&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDisco.Interprete = &lt;span&gt;&amp;quot;Laura Leon&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDisco.Id = 1;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDisco.Titulo = &lt;span&gt;&amp;quot;Noches de cumbia&amp;quot;&lt;/span&gt;;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;MessageBox&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;.Show(lobjDisco.Genero);&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span&gt;&lt;span style="text-decoration:none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span&gt;&lt;span style="text-decoration:none;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span&gt;VB&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;Option Infer On&lt;/span&gt;&lt;span&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;Dim&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; lobjDisco = &lt;span style="color:blue;"&gt;New&lt;/span&gt;
Disco&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDisco.Genero = &lt;span&gt;&amp;quot;Cumbia&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDisco.Interprete = &lt;span&gt;&amp;quot;Laura Leon&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDisco.Id = 1&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDisco.Titulo = &lt;span&gt;&amp;quot;Noches de cumbia&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDisco.Precio = 230&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MsgBox(lobjDisco.Genero)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;El código del ejemplo anterior mostrara correctamente el
género del disco si somos algo curiosos podemos tratar de asignar a la variable
&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;lobjDisco&lt;/span&gt; un objeto que no se del
tipo disco y podemos ver cómo el compilador nos dirá una grosería toda vez que
la variable es fuertemente tipeada.&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;2)&lt;span&gt;&amp;nbsp; &lt;/span&gt;Inicializadores de objetos.&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;Esta azúcar sintáctica es realmente útil debido a que
en .NET 2.x y anteriores es necesario generar un constructor sobrecargado si
queremos inicializar las variables de un objeto al momento de que es
instanciado, así sí tenemos 20 variables es necesario generar 20 constructores
(o muchos más si las combinamos) &lt;span&gt;&amp;nbsp;&lt;/span&gt;para
poder inicializar las propiedades o campos de nuestro objeto lo cual se traduce
en una gran pérdida de tiempo al momento de estar programando. Con esta
característica sin modificar el código previo de definición de la clase disco
podemos utilizar la siguiente sintaxis que nos permitirá inicializar las
propiedades o campos del objeto:&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;C#&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;lobjDisco = &lt;span style="color:blue;"&gt;new&lt;/span&gt;
&lt;span&gt;Disco&lt;/span&gt; { Id = 2, Genero = &lt;span&gt;&amp;quot;Trance&amp;quot;&lt;/span&gt;, Interprete = &lt;span&gt;&amp;quot;Armin Van Buuren&amp;quot;&lt;/span&gt; , Precio=300};&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;VB&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;lobjDisco = &lt;span style="color:blue;"&gt;New&lt;/span&gt; Disco &lt;span style="color:blue;"&gt;With&lt;/span&gt; {.Id =
2, .Genero = &lt;span&gt;&amp;quot;Trance&amp;quot;&lt;/span&gt;, .Interprete
= &lt;span&gt;&amp;quot;Armin Van Buuren&amp;quot;&lt;/span&gt;, .Precio =
130}&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;3) Tipos anónimos&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;Los tipos anonimos nos permiten generar tipos al
vuelo sin necesidad de declarar explícitamente la estructura y la definición de
la clase. Esto se usa principalmente cuando queremos hacer algún cálculo o
queremos generar un nuevo tipo basado en el resultado que nos pudiera llegar a
dar un query de LINQ. En la misma manera que sucede con inferencia de tipos los
tipos anónimos son creados en tiempo de compilación y no en tiempo de ejecución
lo que se traduce en que no hay pérdida de rendimiento de la aplicación cabe
señalar que los miembros de los tipos anónimos son de solo lectura&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;C#&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt;
lobjDisquera = &lt;span style="color:blue;"&gt;new&lt;/span&gt; { Nombre = &lt;span&gt;&amp;quot;Discos Maic&amp;quot;&lt;/span&gt; };&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt;
lobjDisquera2 = &lt;span style="color:blue;"&gt;new&lt;/span&gt; { Nombre = &lt;span&gt;&amp;quot;Discos Lucha&amp;quot;&lt;/span&gt; };&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt;
lobjDisquera3 = lobjDisquera2;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;MessageBox.Show(lobjDisquera3.Nombre);&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;VB&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt;
lobjDisquera = &lt;span style="color:blue;"&gt;New&lt;/span&gt; &lt;span style="color:blue;"&gt;With&lt;/span&gt;
{.Nombre = &lt;span&gt;&amp;quot;Discos Maic&amp;quot;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt;
lobjDisquera2 = &lt;span style="color:blue;"&gt;New&lt;/span&gt; &lt;span style="color:blue;"&gt;With&lt;/span&gt;
{.Nombre = &lt;span&gt;&amp;quot;Discos Lucha&amp;quot;&lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt;
lobjDisquera3 = lobjDisquera2&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MsgBox(lobjDisquera3.Nombre)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;4) Métodos de
extension&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;Sabemos nosotros que en el mundo de. Net es possible
utilizar técnicas como la herencia desde una clase abstracta y generar métodos
adicionales por una clase concreta para extender la funcionalidad de una clase
base, sin embargo muchas veces para lograr esto es necesario re compilar el
tipo de datos original y derivado además de que es necesario tener los permisos
correspondientes en la clase base para poder extender exitosamente el tipo.&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;Los métodos de extensión nos permiten agregar
funcionalidad adicional a una clase base sin necesidad de generar subclases.
Cabe señalar que los métodos de extensión deben de ser estáticos.&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;Para definir un método de extensión utilizamos la
siguiente sintaxis&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;span&gt;C#&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt;
&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;class&lt;/span&gt; &lt;span&gt;Extensiones&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;public&lt;/span&gt;
&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt;
MostrarPrecio(&lt;span style="color:blue;"&gt;this&lt;/span&gt; &lt;span&gt;Disco&lt;/span&gt;
pobjDisco)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;MessageBox&lt;/span&gt;.Show(pobjDisco.Precio.ToString());&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;}&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;VB&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;Module&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; Extensiones&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Extension()&amp;gt; &lt;span style="color:blue;"&gt;Public&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt; MostrarPrecio(&lt;span style="color:blue;"&gt;ByVal&lt;/span&gt; pobjDisco &lt;span style="color:blue;"&gt;As&lt;/span&gt;
Disco)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MsgBox(pobjDisco.Precio)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;End&lt;/span&gt; &lt;span style="color:blue;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;End&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; &lt;span style="color:blue;"&gt;Module&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;Una vez que nosotros implementamos el código anterior
podemos ver que el tipo disco ahora tienen método de extensión denominado
MostrarPrecio y podemos invocarlo como cualquier otro método.&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;Cuando nosotros utilizamos LINQ, al momento de hacer
un query, el objeto resultante de este query tiene una gran cantidad de métodos
de extensión añadidos que nos permiten utilizar la funcionalidad de los
operadores de query como group by, order by, count, average etc., De ahí la
importancia de conocer su correcto funcionamiento.&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;b&gt;5) Sintaxis de
Query (LINQ)&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;LINQ como tal es una serie de tecnologías que nos
permiten utilizar sentencias parecidas a SQL para manipular los objetos de la
misma manera que lo hacemos con tablas del paradigma la relaciónal.&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;La tecnología LINQ esta dividida en diferentes
sabores de acuerdo a su aplicación.&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;b&gt;LINQ to
Objects&lt;/b&gt;: es la tecnología que examinaremos con el siguiente código
cualquier objeto que sea una colección dentro de. Net es susceptible a que se
le haga un cuello con LINQ y generará a partir de ella un nuevo tipo de datos
obteniendo los resultados del query&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;C#&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDiscos.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span&gt;Disco&lt;/span&gt;{Id =
3,Genero=&lt;span&gt;&amp;quot;Pop&amp;quot;&lt;/span&gt;,Interprete=&lt;span&gt;&amp;quot;Fey&amp;quot;&lt;/span&gt;, Titulo=&lt;span&gt;&amp;quot;Vertigo&amp;quot;&lt;/span&gt;,
Precio=120});&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;lobjDiscos.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span&gt;Disco&lt;/span&gt; { Id =
4, Genero = &lt;span&gt;&amp;quot;Pop&amp;quot;&lt;/span&gt;, Interprete = &lt;span&gt;&amp;quot;Simply Red&amp;quot;&lt;/span&gt;, Titulo = &lt;span&gt;&amp;quot;Sunrise&amp;quot;&lt;/span&gt;, Precio = 320 });&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDiscos.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span&gt;Disco&lt;/span&gt; { Id =
5, Genero = &lt;span&gt;&amp;quot;Rock&amp;quot;&lt;/span&gt;, Interprete = &lt;span&gt;&amp;quot;Guns n Roses&amp;quot;&lt;/span&gt;, Titulo = &lt;span&gt;&amp;quot;Use your ilution&amp;quot;&lt;/span&gt;, Precio = 220 });&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;lobjDiscos.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt;
&lt;span&gt;Disco&lt;/span&gt; { Id = 6, Genero = &lt;span&gt;&amp;quot;Dance&amp;quot;&lt;/span&gt;, Interprete = &lt;span&gt;&amp;quot;Gigi Dagostino&amp;quot;&lt;/span&gt;, Titulo = &lt;span&gt;&amp;quot;L amour tojours&amp;quot;&lt;/span&gt;, Precio = 99 });&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDiscos.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span&gt;Disco&lt;/span&gt; { Id =
7, Genero = &lt;span&gt;&amp;quot;Clasica&amp;quot;&lt;/span&gt;, Interprete
= &lt;span&gt;&amp;quot;Haendel&amp;quot;&lt;/span&gt;, Titulo = &lt;span&gt;&amp;quot;Mesias&amp;quot;&lt;/span&gt;, Precio = 410 });&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDiscos.Add(&lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span&gt;Disco&lt;/span&gt; { Id =
8, Genero = &lt;span&gt;&amp;quot;Hip Hop&amp;quot;&lt;/span&gt;, Interprete
= &lt;span&gt;&amp;quot;Linkin Park&amp;quot;&lt;/span&gt;, Titulo = &lt;span&gt;&amp;quot;Meteora&amp;quot;&lt;/span&gt;, Precio = 60 });&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt;
lobjDiscosSeleccionados = &lt;span style="color:blue;"&gt;from&lt;/span&gt;
lobjSeleccionDiscos &lt;span style="color:blue;"&gt;in&lt;/span&gt; lobjDiscos&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;where&lt;/span&gt; lobjSeleccionDiscos.Precio &amp;gt; 300&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;orderby&lt;/span&gt; lobjSeleccionDiscos.Id &lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt;
{lobjSeleccionDiscos.Titulo, lobjSeleccionDiscos.Precio};&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;foreach&lt;/span&gt;
(&lt;span style="color:blue;"&gt;var&lt;/span&gt; lobjDisc &lt;span style="color:blue;"&gt;in&lt;/span&gt;
lobjDiscosSeleccionados)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;MessageBox&lt;/span&gt;.Show(lobjDisc.Titulo
+ &lt;span&gt;&amp;quot; - &amp;quot;&lt;/span&gt; +lobjDisc.Precio);&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;VB&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDiscos.Add(&lt;span style="color:blue;"&gt;New&lt;/span&gt;
Disco &lt;span style="color:blue;"&gt;With&lt;/span&gt; {.Id = 3, .Genero = &lt;span&gt;&amp;quot;Pop&amp;quot;&lt;/span&gt;, .Interprete = &lt;span&gt;&amp;quot;Fey&amp;quot;&lt;/span&gt;, .Titulo = &lt;span&gt;&amp;quot;Vertigo&amp;quot;&lt;/span&gt;, .Precio = 120})&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDiscos.Add(&lt;span style="color:blue;"&gt;New&lt;/span&gt;
Disco &lt;span style="color:blue;"&gt;With&lt;/span&gt; {.Id = 4, .Genero = &lt;span&gt;&amp;quot;Pop&amp;quot;&lt;/span&gt;, .Interprete = &lt;span&gt;&amp;quot;Simply Red&amp;quot;&lt;/span&gt;, .Titulo = &lt;span&gt;&amp;quot;Sunrise&amp;quot;&lt;/span&gt;, .Precio = 320})&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;lobjDiscos.Add(&lt;span style="color:blue;"&gt;New&lt;/span&gt; Disco &lt;span style="color:blue;"&gt;With&lt;/span&gt; {.Id =
5, .Genero = &lt;span&gt;&amp;quot;Rock&amp;quot;&lt;/span&gt;, .Interprete =
&lt;span&gt;&amp;quot;Guns n Roses&amp;quot;&lt;/span&gt;, .Titulo = &lt;span&gt;&amp;quot;Use your ilution&amp;quot;&lt;/span&gt;, .Precio = 220})&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDiscos.Add(&lt;span style="color:blue;"&gt;New&lt;/span&gt; Disco &lt;span style="color:blue;"&gt;With&lt;/span&gt; {.Id =
6, .Genero = &lt;span&gt;&amp;quot;Dance&amp;quot;&lt;/span&gt;, .Interprete
= &lt;span&gt;&amp;quot;Gigi Dagostino&amp;quot;&lt;/span&gt;, .Titulo = &lt;span&gt;&amp;quot;L amour tojours&amp;quot;&lt;/span&gt;, .Precio = 99})&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDiscos.Add(&lt;span style="color:blue;"&gt;New&lt;/span&gt; Disco &lt;span style="color:blue;"&gt;With&lt;/span&gt; {.Id =
7, .Genero = &lt;span&gt;&amp;quot;Clasica&amp;quot;&lt;/span&gt;,
.Interprete = &lt;span&gt;&amp;quot;Haendel&amp;quot;&lt;/span&gt;, .Titulo =
&lt;span&gt;&amp;quot;Mesias&amp;quot;&lt;/span&gt;, .Precio = 410})&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjDiscos.Add(&lt;span style="color:blue;"&gt;New&lt;/span&gt; Disco &lt;span style="color:blue;"&gt;With&lt;/span&gt; {.Id =
8, .Genero = &lt;span&gt;&amp;quot;Hip Hop&amp;quot;&lt;/span&gt;,
.Interprete = &lt;span&gt;&amp;quot;Linkin Park&amp;quot;&lt;/span&gt;,
.Titulo = &lt;span&gt;&amp;quot;Meteora&amp;quot;&lt;/span&gt;, .Precio =
60})&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt;
lobjDiscosSeleccionados = &lt;span style="color:blue;"&gt;From&lt;/span&gt;
lobjSeleccionDiscos &lt;span style="color:blue;"&gt;In&lt;/span&gt; lobjDiscos _&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;Where&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; lobjSeleccionDiscos.Precio &amp;gt; 300 _&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Order&lt;/span&gt;
&lt;span style="color:blue;"&gt;By&lt;/span&gt; lobjSeleccionDiscos.Titulo &lt;span style="color:blue;"&gt;Ascending&lt;/span&gt; _&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Select&lt;/span&gt;
lobjSeleccionDiscos.Titulo, lobjSeleccionDiscos.Precio&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt; &lt;span style="color:blue;"&gt;Each&lt;/span&gt; lobjDisc &lt;span style="color:blue;"&gt;In&lt;/span&gt;
lobjDiscosSeleccionados&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/span&gt;MessageBox.Show(lobjDisc.Titulo.ToString() + &lt;span&gt;&amp;quot;
- &amp;quot;&lt;/span&gt; + lobjDisc.Precio.ToString())&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;Asimismo también tenemos &lt;b&gt;LINQ to dataSet&lt;/b&gt; que como ustedes se pueden imaginar nos permite
ejecutar &lt;span&gt;&amp;nbsp;&lt;/span&gt;queries &lt;span&gt;&amp;nbsp;&lt;/span&gt;is a través de las estructuras DataSet the que
ofrece. Net.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Con esto podemos eliminar
desde luego el uso del objeto DataView que se montaba sobre un dataSet y que
nos permitía realizar funcionalidades equivalentes a un motor de base de datos
como el ordenamiento o el filtrado de los datos de acuerdo a sentencias
específicas ahora podemos utilizar LINQ directamente para extraer la
información deseada.&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;También tenemos &lt;b&gt;LINQ
to XML&lt;/b&gt; donde es posible generar un query a partir de la declaración de un árbol
XML, &lt;b&gt;LINQ to SQL&lt;/b&gt; que nos permite
(pronto un artículo sobre esto) generar objetos basándonos en la definición de
una base de datos relacional (un ORM con esteroides) y LINQ to Entities, una
tecnología que estará disponible en el futuro cercano cuyo objetivo es poner
una capa intermedia de a basada en XML donde se defina la estructura y mapeo de
los datos además de que contará con soporte a múltiples proveedores de base de
datos&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;b&gt;6) Expresiones
lambda y conceptos sobre la programación funcional&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;El lenguaje de programación C# se está convirtiendo en un
lenguaje de programación funcional.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;La programación funcional es un paradigma de la misma manera
que lo es el paradigma orientado objetos o la programación imperativa.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Existen lenguajes con enfoque el paradigma funcional desde
hace ya bastante rato, el ejemplo principal es Haskell.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Así como en la programación orientada a objetos se tiene
como objetivo primero describirle el mundo a la computadora mediante las clases
y luego resolver el algoritmo mediante la interacción (relaciones) entre los
objetos, el objetivo de la programación funcional es establecer “relaciones de
igualdad” (de la misma manera que sucede en las ecuaciones matemáticas).&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;En la programación funcional debemos pensar que todo es
una función y que el problema se resolverá mediante la generación de funciones
y su descomposición en otras funciones más simples, o bien al revés, que
podemos encontrar la solución a un problema componiendo funciones de funciones &lt;span&gt;&amp;nbsp;&lt;/span&gt;y evaluando expresiones que resultan de la
invocación de las mismas funciones. ¿Suena enredado? Para nada, es más fácil de
lo que se puedan imaginar.&lt;span style="font-size:14pt;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;Por ejemplo, sabemos que el doble de un numero x será x+x.
Utilizando la sintaxis de C# tenemos .&lt;span style="font-size:14pt;font-family:&amp;#39;Arial&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;(En el siguiente ejemplo usamos expresiones lambda, para más
detalle ver este artículo)&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;C#&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Doble&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; x = (&lt;span style="color:blue;"&gt;int&lt;/span&gt;
y) =&amp;gt; y + y;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;MessageBox&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;.Show(x(2).ToString());&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;El resultado será 4&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;Así mismo sabemos que el cuádruple del mismo número será
el doble del doble, en lugar de generar otro método para definirlo, podemos
hacer uso de la inferencia de tipos que es básica en cualquier lenguaje de
programación funcional y escribir lo siguiente (y que desde luego C# y VB la
implementan)&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; Cuadruple = x(x(2));&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;// o bien&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;var&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; Cuadruple =&lt;span&gt;&amp;nbsp; &lt;/span&gt;x(2) + x(2) ;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;span&gt;MessageBox&lt;/span&gt;.Show(Cuadruple.ToString());&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;El resultado será 8&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Y desde luego, si queremos saber el óctuple…&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;var&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; Octuple = Cuadruple+Cuadruple;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;MessageBox&lt;/span&gt;.Show(Octuple.ToString());&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;El resultado será 16.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Como podemos ver ya no estamos escribiendo más definiciones
de funciones ni creando su cuerpo, simplemente estamos haciendo referencia
mediante inferencia de tipos a una función que creamos al principio, como
podemos ver esto se traduce en un aumento de la productividad del programador porque
a resumidas cuentas nos estamos ahorrando una gran cantidad de código.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;El soporte que tiene C#&lt;span&gt;&amp;nbsp;
&lt;/span&gt;para expresiones lambda (la base de la programación funcional) es mucho
mejor que el que existe en VB&lt;span&gt;&amp;nbsp; &lt;/span&gt;(por
ejemplo, en VB las expresiones lambda deben ser expresiones que generen valores
y no pueden ser sentencias, es decir no podemos crear una variable local dentro
del cuerpo de una expresión lambda, cosa que sí se puede con C#) y con el
futuro seguramente este soporte será ampliado.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Por su parte el equipo de VB ha decidido unir el destino del
veterano VB al destino de la programación en xml con características como XML
Literals (ver más abajo para más detalle).&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Muchos programadores en C# quizá se sientan algo desilusionados debido a que el soporte en xml ahora es muchísimo más exhaustivo
en visual basic que en C#, sin embargo creo que la decisión del equipo de C#
tiene mucha lógica y se fundamenta en que las tecnologías alrededor de los
lenguajes son efímeras. No sabemos que pueda suceder en el futuro con el XML,
sobre todo cuando vienen nuevos como Astoria o Jasper (esperen un artículo de
esto en enero). ¿Seguirá siendo válido el XML en 2 años? ¿En 5? ¿En 15?. Eso
nadie lo sabe así que en C# se prefiere una filosofía más orientada al lenguaje
puro alejándolo de las cosas alrededor.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;b&gt;7) Literales
XML (Sólo VB)&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Como les estaba comentando hace unas líneas el soporte a XML
que integra visual basic es mucho mayor al que integra C#. Sin ir más lejos o
simplemente examinen este código, no hay mucho que explicar&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;VB&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt;
lobjXML = &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Peliculas&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Pelicula&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Titulo&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;El Exorcista&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Titulo&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Director&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Juanito Perez&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Director&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Genero&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Horror&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Genero&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Pelicula&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Pelicula&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Titulo&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Saw 2 El juego del
miedo&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Titulo&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Director&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Juanito Perez&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Director&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Genero&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Terror&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Genero&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Pelicula&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Pelicula&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Titulo&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Silent Hill&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Titulo&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Director&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;XXX Perez&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Director&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Genero&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Suspenso&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Genero&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;Pelicula&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Peliculas&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MessageBox.Show(lobjXML.Elements.Count().ToString)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;For&lt;/span&gt;
&lt;span style="color:blue;"&gt;Each&lt;/span&gt; lobjElemento &lt;span style="color:blue;"&gt;As&lt;/span&gt;
XElement &lt;span style="color:blue;"&gt;In&lt;/span&gt; lobjXML.Elements&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;MsgBox(lobjElemento.Value())&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Como ustedes pueden ver automáticamente el compilador
reconoce cualquier declaración en xml&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Y a partir de ella genera los objetos correspondientes para
que no podamos programar programa ticamente sin necesidad de utilizar clases
como XMLDocument. El código anterior nos muestra una bonita caja de texto con
los valores que se encuentran dentro del fragmento xml. Esto la verdad es
sorprendente, y se le denomina Literal Expression, ¡El XML ES el lenguaje de
programación, es parte íntegra de VB!&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Inclusive si no queremos utilizar el For Each podemos
escribir un query y seleccionar aquellas películas que nos gusten mua ja ja…&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;u&gt;VB&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt;
SeleccionXML = &lt;span style="color:blue;"&gt;From&lt;/span&gt; Elemento &lt;span style="color:blue;"&gt;In&lt;/span&gt; lobjXML.&lt;span&gt;&amp;lt;&lt;/span&gt;Pelicula&lt;span&gt;&amp;gt;&lt;/span&gt; _&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Where&lt;/span&gt; Elemento.&lt;span&gt;&amp;lt;&lt;/span&gt;Titulo&lt;span&gt;&amp;gt;&lt;/span&gt;.Value = &lt;span&gt;&amp;quot;Silent
Hill&amp;quot;&lt;/span&gt; _&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Select&lt;/span&gt; Elemento.&lt;span&gt;&amp;lt;&lt;/span&gt;Genero&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MsgBox(SeleccionXML.First.Value)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Este código nos
mostrará la palabra Suspenso. Y si queremos es todavía más allá es posible
generar XML que tenía como contenido en lugar de valores estáticos variables o
propiedades de objetos, sintaxis que seguramente les parecerá familiar&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:blue;"&gt;Dim&lt;/span&gt;
lobjXMLHoras = &lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Horas&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Hora&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Pais&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;México&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Pais&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span&gt;HoraExacta&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span style="background:yellow none repeat scroll 0% 50%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;lt;%=&lt;/span&gt; Now &lt;span style="background:yellow none repeat scroll 0% 50%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;%&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;HoraExacta&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Hora&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Hora&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span&gt;Pais&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span&gt;Japón&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Pais&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span&gt;HoraExacta&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;span style="background:yellow none repeat scroll 0% 50%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;lt;%=&lt;/span&gt; Now.AddHours(6) &lt;span style="background:yellow none repeat scroll 0% 50%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;%&amp;gt;&lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;HoraExacta&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Hora&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span&gt;Horas&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Del ejemplo anterior hemos puesto como valores el elemento
HoraExacta al cálculo de la hora actual y en el caso del segundo elemento
estamos añadiendo unas horas para representar un cálculo.&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Algo que no puedo dejar de mencionar y que es medio horrible
es que no es posible de debuggear las expresiones cuery en la ventana de immed.
Esperemos que en próximas revisiones nuestros compas en Microsoft&lt;span&gt;&amp;nbsp; &lt;/span&gt;le den un vistazo esto porque se puede volver
un feo dolor de cabeza a la hora de programar cueris complejos. (Si pudieron
con las nested master pages, que no puedan con esto juar juar)&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;“Query expressions are
not valid in debug windows”&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;b&gt;8) Operador
ternario(Sólo VB)&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Por todos es conocido que es posible representar un If en C#
de la siguiente manera&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;u&gt;C#&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;u&gt;&lt;span style="text-decoration:none;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;a%b==0 ? &amp;quot;Par&amp;quot; : &amp;quot;Non&amp;quot;;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;A pesar de que las versiones anteriores de visual basic o
tenían una función llamada Iif, esta sintaxis era exactamente eso: una función
por lo cual si alguno de las expresiones que se le pasaban esta función era
inválida tronaba toda nuestra rutina. Como buena noticia ya ningun programador
en C# se podrá burlar de los visualeros. Les presento al poderosísimo operador
ternario en VB:&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;u&gt;VB&lt;/u&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;If&lt;/span&gt;&lt;span style="font-size:10pt;line-height:115%;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt;(lintNumero &lt;span style="color:blue;"&gt;Mod&lt;/span&gt; 2 = 0, &lt;span&gt;&amp;quot;Par&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;Non&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;b&gt;9) Propiedades
autoimplementadas (Sólo C#)&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Sabemos nosotros que cuando estamos utilizando propiedades
siempre es indispensable utilizar una variable privada dentro de la clase que
se encargue de mantener el Valor que está expuesto por la propiedad en la
versión 2005 de visual studio se introdujo el concepto de Refactoring que
mediante el IDE nos permitía generar automáticamente estas variables, ahora
esto se llevado a nivel de lenguaje y es posible generar implícitamente la
variable privada que contendrá el tipo utilizando la siguiente sintaxis.&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;C#&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:blue;"&gt;public&lt;/span&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;"&gt; &lt;span style="color:blue;"&gt;string&lt;/span&gt; Disquera {&lt;span style="color:blue;"&gt;get&lt;/span&gt;;
&lt;span style="color:blue;"&gt;set&lt;/span&gt;;}&lt;/span&gt;&lt;b&gt;&lt;span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:8pt;font-family:&amp;#39;Courier New&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Bien, ahora sí, a esperar el año nuevo y fuera de coto, mis
mejores deseos para el 2008, gracias por seguir entrando a DevelopersDotNet y
les aseguro que en el 2008 este blog tratará, como lo ha intentado desde su
creación de poner cosas, aunque sea medianamente originales y que aporten valor
a este horrible pero genial armatoste llamado Internet.&lt;/p&gt;

&lt;p class="MsoNormal" style="text-align:justify;line-height:normal;"&gt;&lt;span style="font-size:10pt;font-family:&amp;#39;System&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:green;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;Un abrazo a tod@s y &lt;/p&gt;

&lt;p class="MsoNormal"&gt;¡Feliz codificación!&lt;/p&gt;

&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=281" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author></entry><entry><title>Nuevas tendencias en el acceso a datos</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2007/12/31/nuevas-tendencias-en-el-acceso-a-datos.aspx" /><id>/blogs/bichi/archive/2007/12/31/nuevas-tendencias-en-el-acceso-a-datos.aspx</id><published>2007-12-31T11:42:00Z</published><updated>2007-12-31T11:42:00Z</updated><content type="html">&lt;p&gt;Hola como están los invito a descargar la presentación de la conferencia que di en el congreso Software Gurú de este año (todavía 2007 jeje)&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sg.com.mx/sg07/presentaciones/Herramientas%20y%20tecnologias/SG07.T05.TendenciasDataAccess.pdf"&gt;http://www.sg.com.mx/sg07/presentaciones/Herramientas%20y%20tecnologias/SG07.T05.TendenciasDataAccess.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Encontrarán conceptos interesantes que espero estar expandiendo próximamente. &lt;/p&gt;
&lt;p&gt;Saludos a to2&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=280" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author><category term="Jasper" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Jasper/default.aspx" /><category term="ADO.NET" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/ADO.NET/default.aspx" /><category term="Astoria" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Astoria/default.aspx" /><category term="Datos" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Datos/default.aspx" /><category term="ORM" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/ORM/default.aspx" /></entry><entry><title>Delegados, métodos anónimos y expresiones lambda</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2007/08/08/delegados-m-233-todos-an-243-nimos-y-expresiones-lambda.aspx" /><id>/blogs/bichi/archive/2007/08/08/delegados-m-233-todos-an-243-nimos-y-expresiones-lambda.aspx</id><published>2007-08-08T08:14:00Z</published><updated>2007-08-08T08:14:00Z</updated><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span&gt;Preeliminares&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Durante el
tiempo el pasado dando clases de .Net me resulta particularmente llamativo que
al momento de preguntarle algún participante qué es un delegado muchas veces me
encuentro con caras de pánico a pesar de que muchos de sus programadores que
asisten a clase son gente realmente experta a su trabajo y lleva mucho tiempo
programando, sin temor a equivocarme puedo decir que menos del 10% de todos los
participantes ha esbozado una explicación medianamente correcta.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Y creo que
esto se debe no tanto a los programadores, toda vez &lt;span&gt;&amp;nbsp;&lt;/span&gt;que muchas veces no es tan necesario entender
para qué sirven los delegados sobre todo cuando Visual Studio se encarga de
generar automáticamente mucho del código que soporta el manejo de eventos
dentro de una aplicación y trae una gran cantidad de delegados listos para
usarse (el más común el EventHandler delegate). Menos culpa aún tienen los programadores
en Visual Basic ya que el mismo lenguaje encapsula toda la tubería de los
delegados y los eventos con sus funciones y palabras reservadas: Handles,
Addhandler, Removehandler, AddressOf y Withevents, inclusive me atrevo a decir
que un programador en VB.NET realmente puede olvidarse en la mayoría de los
casos de los delegados y a pesar de eso seguir siendo un excelente programador
en VB.NET.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Sin embargo
esto está por cambiar. Con el .NET Framework 3.5, Visual Basic 9.0 y C# 3.0 hay
que comprender más a detelle para qué sirven los delegados y de esta manera poder
asimilar y utilizar adecuadamente las nuevas “lambda expressions”&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Haremos un
poco de historia y hablaremos de algo que se llama el “mecanismo de publicación
suscripción”&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span&gt;El patrón de diseño observador&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Suponga que
está usted en un restaurante y revisa la carta para decidir que platillo
ordenar; en este escenario pueden pasar dos cosas cuando usted se decida: 1) Que
espere hasta que el mesero se aparezca en su mesa y le pregunte que desee y
consumir o 2) Que usted levante la mano y explícitamente le diga al mesero
cuando está listo para que el tome la orden. Evidentemente la opción 2 es la
más adecuada debido a que el mesero no lo tiene que estar esperando sino que
usted le indica cuando pedir y además si el mesero no está usted puede
llamarlo. Pues bien, sin ir muy lejos a esto se les llama mecanismo de
publicación suscripción y es la base del patrón de diseño definido por la banda
de los cuatro llamado el observador. En este caso el publicador es el Comensal
y el suscriptor es el cliente. Esto es la base para la implementación del patrón
de diseño observador&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span&gt;Delegados&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Lo mismo
sucede en la programación. Todo el mecanismo de eventos de la plataforma. Net
está basado en delegados, en el ejemplo anterior el delegado sería la Comanda
que traería el platillo que usted eligió, esta comanda viajará y notificará,
aunque también notificará al chef, y al personal de caja para saber qué
cobrarle, algo muy parecido hacen los delegados: “apuntan” a aquellos métodos
que deben ser ejecutados cuando algo sucede.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;En otras
palabras un delegado es ”como” un puntero de función de tipo seguro. Ese “como”
no está ahí por casualidad, está porque en el CLR no están definidos los
punteros, así que tenemos que usar un “como” y no un “es”&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;La
maravilla de los delegados es que no es necesario implementar una interfaz a
una clase (como los Listeners en Java) para poder escuchar un evento
determinado, sino que no importando la clase, cualquier método que cumpla con
la firma (lista de parámetros) puede ser usado para implementar el delegado, de
ahí se desprende lo del tipo seguro.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Por su
parte los eventos notifican a una clase que tiene una relación de composición o
agregación con otra (volvemos a lo mismo la clase compositora seria el
suscriptor) que algo ha sucedido, entonces el delegado lleva los datos hacia la
función adecuada.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;A
continuación veremos cómo C# ha ido evolucionando para resolver el problema de
la delegación con sintaxis cada vez más elegante y menos verbosa.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Como lo
acabamos de decir, evidentemente, si un delegado es como un puntero de función,
forzosamente requeriremos de una función. En el caso de C# 1.2 (.NET 1.x)
tenemos explícitamente que declarar en una clase el método. El ejemplo del
comensal es este:&lt;/span&gt;&lt;/p&gt;

&lt;table class="MsoTableGrid" style="border:medium none;background:black none repeat scroll 0% 50%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;border-collapse:collapse;" cellpadding="0" cellspacing="0"&gt;
 &lt;tr&gt;
  &lt;td style="border:1pt solid black;padding:0in 5.4pt;width:6.65in;"&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;using&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; System;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;namespace&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; DelegadosEstandar&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Delegado que sirve como base para el evento
  ComandaOrdenada&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;delegate&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void Orden&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;string&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; pstrPlatillo);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;class&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Mesero&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Clase suscriptora&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;private&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Comensal&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; lobjComensal;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; Mesero()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Se instancia la clase, es
  decir estamos haciendo una relación&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;// de composición&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjComensal = &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;new&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Comensal&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Se genera el mecanismo de
  publicación suscripción&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//aqui nos suscribimos y
  empezamos a &amp;quot;escuchar&amp;quot; si el comensal pide&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjComensal.ComandaOrdenada += &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;new Orden&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;(TomarOrden);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; EsperarPedido()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjComensal.PedirPlatillo();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Este método se ejecutara
  cuando se dispare el evento ComandaOrdenada&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//en el comensal&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;static&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; TomarOrden(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;string&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; pstrPlatillo)&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;quot;Tomé la orden de &amp;quot;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; + pstrPlatillo);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.ReadLine();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;class&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Comensal&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Clase publicadora&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Este es el evento al que se
  suscribirá el mesero&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;event Orden&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; ComandaOrdenada;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; PedirPlatillo()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;quot;Qué desea comer: &amp;quot;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;string&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; lstrPlatillo = &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.ReadLine();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Se dispara el evento mientras
  Mesero &amp;quot;escucha&amp;quot;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;ComandaOrdenada(lstrPlatillo);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;class&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Programa&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;static&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; Main(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;string&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;[] args)&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Mesero&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; lobjMesero = &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;new&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Mesero&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjMesero.EsperarPedido();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="font-size:9pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Como
podemos apreciar en el ejemplo anterior, existen 3 clases &lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;a) Mesero:
Es el suscriptor que escucha cuando el Comensal pide algo&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;b)
Comensal: Publica la orden y genera el evento ComandaOrdenada cuando se ha
decidido por algo, notese que el evento es del tipo del delegado&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;c)
Programa: Punto de entrada de la aplicación&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;En este
caso la clase programa instancia al Mesero, además de ejecutar su método
EsperarPedido del mismo, el método EsperarPedido &lt;span&gt;&amp;nbsp;&lt;/span&gt;llama a PedirPlatillo que a su vez lee
información del teclado. Cuando se teclea el platillo se dispara el evento
ComandaOrdenada.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span&gt;Métodos Anónimos&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Como
podemos ver esto resulta muy sencillo, sin embargo la sintaxis es algo verbosa.
¿Qué sucedería si yo quiero manejar un evento dentro de la misma clase?. Es
decir que el mismo Comensal maneje su orden sin necesidad de llamar siquiera a
un método. A este tipo de sintaxis se le denomina método anónimo y resultan
parecidas a las inner classes en Java.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;El objetivo
principal del método anónimo es reducir la cantidad de código requerida para
establecer una funcionalidad con delegados, sobre todo cuando no estamos interesados
en involucrar relaciones entre las clases. Los métodos anónimos se introdujeron
en C# 2.0 (.NET 2.0)&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;El ejemplo
del Comensal utilizando un método anónimo la encontramos a continuación:&lt;/span&gt;&lt;/p&gt;

&lt;table class="MsoTableGrid" style="border:medium none;background:black none repeat scroll 0% 50%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;border-collapse:collapse;" cellpadding="0" cellspacing="0"&gt;
 &lt;tr&gt;
  &lt;td style="border:1pt solid black;padding:0in 5.4pt;width:6.65in;"&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//////////////////Metodos
  anonimos con eventos&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;using&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; System;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;namespace&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; DelegadosconMetodosAnonimos&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;delegate&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void Orden&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;string&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;
  pstrPlatillo);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;class&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Mesero&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{ &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Esta
  clase ya no tiene la implementación de la toma de pedido&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//sino
  que se encuentra dentro del mismo Comensal&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;private&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Comensal&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;
  lobjComensal;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; Mesero()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;lobjComensal = &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;new&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Comensal&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;
  EsperarPedido()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjComensal.PedirPlatillo();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;class&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Comensal&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Este
  es el evento al que se suscribe el mesero&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;event Orden&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; ComandaOrdenada;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;
  PedirPlatillo()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;quot;Qué desea comer:
  &amp;quot;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;string&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; lstrPlatillo = &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.ReadLine();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Metodo
  anonimo, ya no necesito el método en la&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//clase
  Mesero para hacer la suscripción&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ComandaOrdenada += &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;delegate&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;string&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; pstrPlatillo)&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;quot;Tomé la orden de
  &amp;quot;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; + pstrPlatillo);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.ReadLine();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;};&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;ComandaOrdenada(lstrPlatillo);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;class&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Programa&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;static&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; Main(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;string&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;[] args)&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Mesero&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; lobjMesero = &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;new&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Mesero&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjMesero.EsperarPedido();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;



&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span&gt;Expresiones Lambda&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Como podemos
apreciar, la misma definición del comportamiento del manejador de evento está
dentro de la misma clase comensal,&lt;span&gt;&amp;nbsp; &lt;/span&gt;no
fue necesario implementar un método, sino que automáticamente definimos el
código necesario, simplemente se escribió la palabra clave delegate dentro del
cuerpo del método PedirPlatillo en el Comensal.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Cabe
señalar que inclusive si usted desea puede quitar la firma de la palabra clave
delegate dentro del método Main y de todos modos se hará la suscripción.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;En el caso
de C# 3.0 (.NET 3.5) se introduce el concepto de expresiones lambda que pueden
ser utilizadas en cualquier contexto donde se pueda utilizar un método anónimo,
reduciendo aun más la cantidad de código requerido y evidentemente aumentando
la legibilidad. &lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Para generar
expresiones lambda en C# hay que usar el operador &lt;span&gt;&amp;nbsp;&lt;/span&gt;=&amp;gt; que significa “apunta a” o “va a”. A continuación
el ejemplo del Comensal con una expresión lambda.&lt;/span&gt;&lt;/p&gt;

&lt;table class="MsoTableGrid" style="border:medium none;background:black none repeat scroll 0% 50%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;border-collapse:collapse;" cellpadding="0" cellspacing="0"&gt;
 &lt;tr&gt;
  &lt;td style="border:1pt solid black;padding:0in 5.4pt;width:6.65in;"&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Lambda con eventos&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;using&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; System;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;namespace&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; ExpresionesLambda&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;delegate&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void Orden&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;string&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; pstrPlatillo);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;class&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Mesero&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{ &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Esta clase ya no tiene la
  implementación de la toma de pedido&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;private&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Comensal&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; lobjComensal;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; Mesero()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjComensal = &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;new&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Comensal&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; EsperarPedido()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjComensal.PedirPlatillo();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;class&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Comensal&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Este es el evento al que se
  suscribe el mesero&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;event Orden&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; ComandaOrdenada;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; PedirPlatillo()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;quot;Qué desea comer: &amp;quot;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;string&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; lstrPlatillo = &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.ReadLine();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;//Expresión lambda, más limpia y
  legible que el método anónimo&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ComandaOrdenada += pstrPlatillo
  =&amp;gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;quot;Tomé la orden de &amp;quot;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; + pstrPlatillo);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ComandaOrdenada(lstrPlatillo);&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;.ReadLine();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;class&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Programa&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;static&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;void&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; Main(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;string&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;[] args)&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;{&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Mesero&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; lobjMesero = &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;new&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Mesero&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjMesero.EsperarPedido();&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;}&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;¿Como ven? ¿Está
padre no? ¿Y Basic? ¿Y el hermoso Basic? ¿Se quedó atrás? Pues ¡No! En Visual
Basic las lambda expressions también son soportadas. Básicamente es lo mismo
sólo que hay que usar la palabra clave Function en lugar de =&amp;gt; además de que
las expresiones lambda en VB siempre deben producir un valor o no se dejará
compilar… Visualbeisiqueros del mundo… ¡Deleitáos con expresiones lambda en VB!
Aquí os presento el mismo código anterior pero en VB&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:13pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;

&lt;table class="MsoTableGrid" style="border:medium none;background:black none repeat scroll 0% 50%;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;border-collapse:collapse;" cellpadding="0" cellspacing="0"&gt;
 &lt;tr&gt;
  &lt;td style="border:1pt solid black;padding:0in 5.4pt;width:6.65in;"&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Delegate&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Sub&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; Orden(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;ByVal&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; lstrPlatillo &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;As&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;String&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;)&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Class&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; Mesero&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Private&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; lobjComensal &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;As&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;New&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; Comensal&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Sub&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; EsperarPedido()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjComensal.PedirPlatillo()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;End&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Sub&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;End&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Class&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Class&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; Comensal&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Event&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; ComandaOrdenada &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;As&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; Orden&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Public&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Sub&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; PedirPlatillo()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine(&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;quot;Qué desea comer: &amp;quot;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;)&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Dim&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; lstrPlatillo &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;As&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;String&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; = Console.ReadLine()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;#39;Expresion lambda en VB a
  diferencia de C#&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;#39;aqui siempre de devolver un
  valor&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Console.WriteLine((&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Function&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;(pstrPlatillo) &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:yellow;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;quot;Tomé la orden de &amp;quot;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; + pstrPlatillo)(lstrPlatillo))&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:olive;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;#39;Disparamos el evento&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;RaiseEvent&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; ComandaOrdenada(lstrPlatillo)&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Console.ReadKey()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;End&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Sub&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;End&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Class&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Module&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; ExpresionesLambda&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Sub&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;
  Main()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Dim&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; lobjMesero &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;As&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;New&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; Mesero()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;lobjMesero.EsperarPedido()&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;End&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Sub&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;End&lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt; &lt;/span&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;Module&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:aqua;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:9pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:8pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
  &lt;/td&gt;
 &lt;/tr&gt;
&lt;/table&gt;

&lt;p class="MsoNormal" style="margin-bottom:0.0001pt;line-height:normal;"&gt;&lt;span style="background:black none repeat scroll 0% 50%;font-size:13pt;font-family:Consolas;color:white;-moz-background-clip:-moz-initial;-moz-background-origin:-moz-initial;-moz-background-inline-policy:-moz-initial;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Pues así
esto de las lambda expressions. Ojalá les haya gustado.&lt;/span&gt;&lt;/p&gt;



&lt;p class="MsoNormal"&gt;&lt;span&gt;Este
artículo fue inspirado y dedicado para los participantes de Intersoftware de 2º
semestre de MCTS. (Marco, Sergio, Julio, Juan, Lalo) que según no les entraban los
delegados. Después de varias clases, re-explicando, frustración, enojos y
antiácidos parece que el concepto ya quedó verdaaaad?????. Jaja no se crean.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;Sin más que
decir Salu2 a todos, recuerden que cualquier duda o concepto que no haya
quedado claro lo pueden postear y vemos como lo resolvemos.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span&gt;¡Feliz
Codificación!&lt;br /&gt;
&lt;b&gt;Miguel A. Morán B.&lt;/b&gt;&lt;br /&gt;
Microsoft MVP Visual Developer&lt;br style="page-break-before:always;" /&gt;
&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=206" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author><category term="LINQ" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/LINQ/default.aspx" /><category term="Expresiones lambda" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Expresiones+lambda/default.aspx" /><category term="3.5" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/3.5/default.aspx" /></entry><entry><title>6 webcasts 6</title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2007/08/02/6-webcasts-6.aspx" /><id>/blogs/bichi/archive/2007/08/02/6-webcasts-6.aspx</id><published>2007-08-02T20:48:00Z</published><updated>2007-08-02T20:48:00Z</updated><content type="html">&lt;p&gt;Tenemos el gusto de informarles que algunos de&amp;nbsp;los miembros de la comunidad DevelopersDotNet (Memo Morales, Markitos Del Pozo y su servilleta)&amp;nbsp;estaremos haciendo desde agosto hasta septiembre un webcast semanal en el &lt;a class="" href="http://www.microsoft.com/Spanish/msdn/latam/mediacenter/webcast/default.aspx" target="_blank"&gt;MSDN Media Center de Microsoft&lt;/a&gt;. Trataremos variados temas sobre las más recientes tecnologías. Esperamos que se registren cuanto antes y nos hagan el favor de honrarnos con su presencia.&lt;/p&gt;
&lt;p&gt;Creo que los temas están bastante interesantes y creo que les pueden ser de bastante utilidad. Todo el código que hagamos en los webcasts estará disponible minutos después en este mismo sitio para que los bajen y los puedan analizar, extender e implementar de inmediato. También les recomiendo que los vean en vivo para que nos puedan hacer preguntas directamente. Los temas los encuentran a continuación&lt;/p&gt;
&lt;p&gt;&lt;span id="lblEventTitle"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&lt;a class="" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032347815&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR" target="_blank"&gt;Explotando datos desde Windows Presentation Foundation&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&lt;a class="" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032347818&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR" target="_blank"&gt;Interoperabilidad de WPF con Win32, WinForms y ActiveX&lt;/a&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&lt;a class="" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032347820&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR" target="_blank"&gt;Windows Workflow Foundation a fondo&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&lt;a class="" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032347822&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR" target="_blank"&gt;Implementando seguridad en Windows Communication Foundation&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&lt;a class="" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032347824&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR" target="_blank"&gt;Nuevas características en Visual&amp;nbsp; Basic 9.0 y C# 3.0&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;span&gt;&lt;a class="" href="http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032347826&amp;amp;EventCategory=4&amp;amp;culture=es-AR&amp;amp;CountryCode=AR"&gt;Programando para Windows Media Center con MCML y XAML&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Registrense ¡Ya!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;¡Feliz Codificación!&lt;br /&gt;&lt;strong&gt;Miguel Angel Morán B.&lt;br /&gt;Microsoft MVP Visual Developer&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=200" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author><category term="Workflow Foundation" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Workflow+Foundation/default.aspx" /><category term="Communication Foundation" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Communication+Foundation/default.aspx" /><category term="Webcast" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Webcast/default.aspx" /><category term="MCML" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/MCML/default.aspx" /><category term="Presentation Foundation" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Presentation+Foundation/default.aspx" /><category term="Media Center" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Media+Center/default.aspx" /><category term="LINQ" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/LINQ/default.aspx" /></entry><entry><title>Colaboración en Software Gurú: Frameworks habilitadores de Ajax </title><link rel="alternate" type="text/html" href="/blogs/bichi/archive/2007/07/10/colaboraci-243-n-en-software-gur-250-frameworks-habilitadores-de-ajax.aspx" /><id>/blogs/bichi/archive/2007/07/10/colaboraci-243-n-en-software-gur-250-frameworks-habilitadores-de-ajax.aspx</id><published>2007-07-10T21:40:00Z</published><updated>2007-07-10T21:40:00Z</updated><content type="html">&lt;p&gt;Los invito a leer el artículo &lt;a class="" href="http://www.sg.com.mx/content/view/340" target="_blank"&gt;Frameworks habilitadores de Ajax&lt;/a&gt;, publicado en la revista&amp;nbsp;&lt;a class="" href="http://www.sg.com.mx/" target="_blank"&gt;Software Gurú&lt;/a&gt;, en esta edición de Julio/Agosto de 2007. En este artículo hablo sobre las opciones que tenemos para hacer que nuestros sitios web implementen Ajax, mediante el uso de marcos de trabajo y tecnologías preestablecidas.&lt;/p&gt;
&lt;p&gt;El código fuente de dicho artículo lo encontrarán &lt;a class="" href="http://www.developersdotnet.com/imagesblogs/mmoran/AJAX.zip"&gt;aquí&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Saludos y feliz codificación&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Miguel Angel Morán B.&lt;br /&gt;Microsoft MVP Visual Developer&lt;/strong&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://developersdotnet.com/aggbug.aspx?PostID=194" width="1" height="1"&gt;</content><author><name>Bichi</name><uri>http://developersdotnet.com/members/Bichi/default.aspx</uri></author><category term="Ajax" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Ajax/default.aspx" /><category term="Software Gur&amp;#250;" scheme="http://developersdotnet.com/blogs/bichi/archive/tags/Software+Gur_26002300_250_3B00_/default.aspx" /></entry></feed>