Etiqueta: Visual Basic

  • Código de ejemplo de Fluent Interface para CSharp y Visual Basic

    Pues eso, que ya está el código de ejemplo para que lo puedas descargar desde mi sitio:

    .NET/VB6: Código de ejemplo de cómo usar Fluent Interface en C#, Visual Basic .NET y Visual Basic 6.0

    Como puedes ver por el título, están los ejemplos para C#, VB.NET y VB6, además el de VB.NET está para la versión 2010 (VB10) y 2008 (VB9) cuyo código también es válido para la versión 2005 (VB8) y supongo que también para las anteriores, aunque no lo he probado… aunque lo mismo algún día lo pruebo… al menos en el VS2003, es decir para VB7.1.

    Nos vemos.
    Guillermo

    P.S.
    Si quieres leer el artículo o post que publiqué hace un par de días en este mismo blog, lo puedes hacer desde este enlace:
    Fluent Interface no es solo simular el WITH de VB

    …

  • Fluent Interface no es solo simular el WITH de VB

    Pues eso, que a raíz de leer un artículo en el blog de mi amigüita Gisela Torres (amiga de feisbúc, ya que no la conozco personalmente aunque en la última cena/reunión de MVP anduvo por allí cerca, pero como yo estaba castigado contra la pared no le vi ni sus ojos… ya sabes que algunos ojos me encandilan, jeje) comentando cómo Crear Fluent Interface en C# y en uno de los comentarios al post decían que se parecía mucho al uso de la instrucción (o bloque) WITH de Visual Basic.

    Después en la página que tiene CampusMVP en feisbúc se vuelve a comentar lo mismo, y en realidad es que ese ejemplo concreto es muy parecido al uso de un bloque With de VB (ya sea VB para .NET como el VB6, en ambos existe esa construcción).

     

    El código de ejemplo

    Sin entrar en demasiados detalles (y con el permiso de Gisela) te muestro el código de uso en C# del ejemplo de interfaz fluida (o fluent interface si lo prefieres en inglés –estos dos enlaces o links son de la wikipedia y en el de español sólo hay ejemplos para C# y C++, mientras que en inglés hay ejemplos para Object Pascal, PHP, Java, JavaScript, C#, etc., eso sí, para VB no hay… ¡faltaría más!-) que puso en su artículo, y después te muestro el correspondiente en Visual Basic usando un bloque With.

     

    Nota:
    Para entender mejor este ejemplo, te recomiendo que veas el código completo que muestra Gisela en su artículo.

     

    El código de uso de Fluent Interface en C#:

    new Computer()
        .AddProcessor("Intel i7 920")
        .AddRAM(6)
        .TurnOn()
        .Test()
        .TurnOff();

     

    El código de uso de Fluent Interface en VB

    (pero sin crear la interfaz que implementa la clase Computer de C#, por eso en este ejemplo la clase se llama ComputerSimple):

    With New ComputerSimple()
        .AddProcessor("Intel i7 920")
        .AddRAM(6)
        .TurnOn()
        .Test()
        .TurnOff()
    End With

     

    Como puedes comprobar, escribiendo el código de C# de esa forma es fácil confundirlo con una construcción (o bloque) With de Visual Basic, pero como comenté en la página de CampusMVP: sin End With y con punto y coma… 😉

     

    Aunque ese "parecido" con With es sólo por la forma de escribir ese código en C#, ya que si lo escribiésemos todo junto y sin cambios de líneas, sería lo que se conoce como encadenamiento de métodos, de forma que se puede llamar a un método de una clase partiendo de la llamada a otro método y esto no se puede hacer con un With, ya que esa instrucción lo que permite es hacer llamadas a diferentes miembros de un objeto (ya sean métodos, propiedades o cualquier cosa que se pueda usar en un objeto) sin necesidad de tener que indicar el objeto en cuestión, es decir, el With nos permite crear un bloque que hace referencia a un objeto, y al estar dentro del "bloque" podemos acceder a cualquier miembro de ese objeto.

     

    El código de llamada a la clase "Computer" que simula un With en C# en realidad se podría escribir así:

    Nota:

    En el blog es posible que se corte el código, pero lo que hay después del comentario podría/debería estar en una sola línea.

    Gracias a mi amigo Dani (Seara) por recordarme que no había puesto el código.

     

    // Todo en una línea:
    new Computer().AddProcessor("Intel i7 920").AddRAM(6).TurnOn().Test().TurnOff();

     

    Por tanto, si queremos una funcionalidad como la indicada en los ejemplos de encadenamientos de métodos, tendríamos que crear un código parecido al indicado en el artículo de Gisela, es decir, crear una interfaz en los que sus métodos devuelvan la propia interfaz en lugar de un tipo más concreto.

     

     

    Fluent Interface no solo es encadenamiento de métodos

    Pero si hacemos caso a Martin Fowler, a esta forma de usar Fluent Interface se conoce como method chaining (o encadenamientos de métodos), pero la "fluidez" no es sólo porque se puedan encadenar métodos… aunque yo aquí no te voy a contar lo que él ya te cuenta en su sitio, allí podrás leer más sobre nested functions (anidamiento de funciones) o de object scoping (alcance -cobertura- de los objetos) que son otras de las "gracias" de todo esto de las interfaces fluidas (fluent interface).

     

    Reflexiones

    En cualquier caso, todo esto está muy bien… y el que quiera usarlo que lo use y el que no, que haga como yo, que se va a dar una vuelta por la playa (o equivalente, también vale un parque o un banco en una esquina) o suda un poquillo corriendo o jugando al tenis… jejeje, que no, que es broma, es que después de un año casi sabático, tantas cosas nuevas, que no son tan nuevas, pero que ahora es cuando yo me estoy enterando de muchas de ellas, porque se usan en los lenguajes que me interesan: en general todos los incluidos en .NET Framework… la cuestión es que hay mucha información en poco tiempo y la verdad es que prefiero "emplear" sólo una parte de ese tiempo en cosas concretas o bien que me llamen la atención como ha sido la de este artículo de Gisela. ¡Gracias Gisela por hacer que le dedique un rato a esto de la programación en vez de estar pensando que podría estar en la playa refrescándome! (de todas formas esta tarde no tocaba playa, así que… bien empleado está el tiempo, jejeje)

     

    Despedida y cierre

    Bueno, voy a escribir el código de ejemplo y ponerlo más arriba, que sólo he dejado el espacio para que no se me fuera la idea, que con estas calores, hasta las ideas se evaporan… jejeje

     

    Nos vemos.

    Guillermo

    P.S.

    El código de ejemplo completo lo pondré en otro momento… ¿vale? pues eso… y además añadiré el correspondiente para usar esto mismo en Visual Basic .NET y si me da el punto -y se puede- también lo haré para Visual Basic 6.0

    P.S.2 (23/Jul/2010 05.27)

    Ya está el código de ejemplo para que lo puedas descargar desde mi sitio:

    .NET/VB6: Código de ejemplo de cómo usar Fluent Interface en C#, Visual Basic .NET y Visual Basic 6.0

    …

  • Descarga el Visual Studio 2010 Express ¡es gratis!

    Nota del 16 de agosto de 2026
    Comentarte que los enlaces de este post ya no funcionan desde hace tiempo, y como he visto que esta página o el resultado del contenido está mostrándose últimamente en las búsquedas de Google, he decidido escribir uno nuevo y en él darte enlaces que (supuestamente) van a funcionar siempre:

    Sigue este enlace al post que acabo de publicar:
    ¿Por qué sigues buscando Visual Studio 2010 Express en pleno 2026? (Y cómo descargarlo de forma segura)


    NOTA del 14-nov-2020
    Este post lo publiqué hace ya más de 10 años (el 12 de abril de 2010) y ya no es actual, pero como veo que últimamente hay mucha gente viendo esta entrada del blog, pues… la actualizo, aunque sea con esta nota, para indicarte que a fecha de hoy lo que está disponible es Visual Studio 2019 v16.8 (aparte de la versión 16.9 Preview 1) y este sí es un entorno completo y apto para que hagas todas las pruebas que necesites.

    Estos son los enlaces actuales de descarga (el que hay más abajo te llevará a este mismo enlace)
    https://visualstudio.microsoft.com/es/
    Desde ese enlace (a día de hoy) te podrás descargar Visual Studio 2019 versión escritorio tanto para Windows como para MacOS, además de Visual Studio Code que te servirá tanto para Windows como para MacOS y para Linux.

    .
    Pues eso… gratis si es, pero de Visual Studio 2010 solo tiene el nombre, ya que en realidad lo que instalas son los diferentes lenguajes de forma separada e independiente… aunque todo pueda estar junto…

    Desde esta página puedes efectuar la descarga:

    http://www.microsoft.com/express/Windows/

    Recuerda que en realidad te descargas el IDE de cada uno de los lenguajes por separado, pero vamos, que como es 100% funcional, te puede servir para ir practicando y para hacer tus ejercicios, etc.  de cualquier curso o libro que tengas a mano…

    Esto es lo que dicen en esa página (en inglés, al menos por ahora):

    Unleash your Creativity!

    The Visual Studio® 2010 Express is a set of free tools which offers you an exciting experience with the new integrated development environment, a new editor built in Windows® Presentation Foundation (WPF) and support for the new .NET Framework 4.

    Powerful Set of Free Tools

    Choose the language that’s right for you.

    Microsoft® Visual Web Developer® 2010 Express is an easy to use

    environment for dynamic Web application development.

    Microsoft® Visual Basic® 2010 Express is ideal for the

    developer learning to program on Microsoft® Windows®.

    Microsoft® Visual C#® 2010 Express offers a greater

    combination of power and productive for Windows developers

    building on .NET.

    Microsoft® Visual C++® 2010 Express provides

    developers the horsepower with a finer degree of control than the

    other Visual Studio Express productions.

    También puedes probar las versiones «trial» de Visual Studio 2010 completas, aquí tienes el link para la versión Professional:

    http://go.microsoft.com/fwlink/?LinkID=186892

    Y si prefieres la Ultimate:

    http://go.microsoft.com/fwlink/?LinkID=186896

    ¡Que te aproveche! 😉

    Nos vemos.
    Guillermo

    …