'Agregar dos cadenas utilizando la clase Gen
ga Dim As New Gen (Of String, String) ("Hola", "World!") Console.WriteLine (ga.V1 + ga.V2)
'Añadir un doble y un Integer utilizando la clase Obj ob dévil como Obj = Nuevo Obj (10.125, de 2005) Console.WriteLine (CType (ob.V1, Doble) + CType (ob.V2, Integer))
'Añadir un doble y un Entero con la clase Gen gb Dim As New Gen (De Doble, Entero) (10.125, de 2005) Console.WriteLine (gb.V1 + gb.
V2)
//C #
//Añadir dos cadenas utilizando la clase Obj Obj OA = new Obj ("Hola", "World!"); Console.WriteLine ((cadena) oa.t + (cadena) oa.u);
//Añadir dos cadenas utilizando la clase Gen
Gen ga = new Gen ("Hola" , "¡Mundo!"); Console.WriteLine (ga.t + ga.u);
//Añadir un doble y un int utilizando la clase Obj Obj ob = new Obj (10.125, de 2005); Console.WriteLine ((doble) ob.t + (int) ob.u);
//Añadir un doble y un int utilizando la clase Gen
Gen gb = new Gen (10.125 , 2005); Console.WriteLine (gb.t + gb.
u);
Si ejecuta ese código en una aplicación de consola, las clases Obj y Gen producen exactamente los mismos resultados. Sin embargo, el código que utiliza la clase Gen realmente funciona más rápido, ya que no requiere el boxeo y unboxing desde y hacia la clase Object. (Boxeo y unboxing se discuten en la sección "¿Cuáles son Boxeo y Unboxing?" Más adelante en este capítulo). Además, los desarrolladores tendrían un tiempo mucho más fácil con la clase Gen. En primer lugar, los desarrolladores no tienen que echar mano de la clase de objetos para los tipos adecuados.
En segundo lugar, los errores de tipo serían capturados en tiempo de compilación en lugar de en tiempo de ejecución. Para demostrar que los beneficios, considere el siguiente código, que contiene un error (se muestra en negrita):
'VB
' Añadir un doble y un entero utilizando la clase Gen gb Dim As New Gen (De Doble, Entero) (10.125, 2005) Console.WriteLine (gb.V1 + gb.V2)
'Añadir un doble y un entero con el ob Dim clase Obj Como Obj = Nuevo Obj (10.125, 2005) Console.WriteLine (CType (ob.V1, Integer) + CType (ob.
V2, Integer))
//C #
//Añadir un doble y un int con el Gen clase
Gen gc = new Gen (10.125, de 2005); Console.WriteLine (gc.t + gc.u);
//Añadir un doble y un int utilizando el Obj oc clase Obj = new Obj