Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Características generales
• Ensamblados amigos
• Relajación de delegados
• Varianza y contravarianza
• Agilidad del runtime
• Operador ternario
• Tipos anulables
• Métodos parciales
Novedades de VB 9.0
Ensamblados amigos
• Acceder a los tipos y demás código que están
declarados como Friend en otro ensamblado
Imports System.Runtime.CompilerServices
Relajación de delegados
• Usar tipos de datos de uno base
• Esto ya estaba en C# 2.0
• Varianza: Para el tipo devuelto e incluso no
devolver nada
• Contravarianza: Para los parámetros
Operador ternario
• Es el equivalente a ?: de C#
• Y es una mejora de la función IIF ya que
devuelve el mismo tipo de datos que se usa en la
evaluación
Dim s As String = _
If(10 > 5, "10 es mayor que 5", "10 no es mayor que 5")
Novedades de VB 9.0
Operador ternario
• La "función" If también permite usar dos
argumentos
• Se evalúa el primero, si es Nothing se devuelve el
segundo (devuelve Object)
• Los tipos deben ser por referencia o anulables
Dim i As Object = If(o, 123)
Novedades de VB 9.0
Tipos anulables
• Definidos directamente en el lenguaje y basados
en Nullable(Of T)
• Al igual que en C#, se indican con una
interrogación después del tipo:
Boolean?, Date?, Integer?, etc.
• Todo lo que sepas sobre Nullable es aplicable a estos
tipos, pero ya forman parte del lenguaje
Novedades de VB 9.0
Métodos parciales
• Los métodos parciales nos permiten definir
"prototipos" de métodos que después podemos
definir completamente o no
' Declaración del método parcial
Partial Private Sub prueba1()
End Sub
Métodos parciales
• Hay ciertas restricciones a la hora de crear este
tipo de métodos, de las que podemos destacar:
• Deben ser de tipo Sub
• Deben ser privados
• Partial solo se usará en la definición del método
parcial no en la definición final
• Los parámetros deben tener los mismos nombres
• Si no se implementan, se eliminará todo el código
que use ese método parcial
Novedades de VB 9.0
LINQ
• Descripción de LINQ
• Expresiones de consulta al estilo SQL
• Inferencia de tipos
• Tipos anónimos
• Inicializadores de objetos
• Inicializadores de arrays y colecciones (no soportado)
• Expresiones lambda
• Métodos extensores
Novedades de VB 9.0
Descripción de LINQ
• LINQ = Language Integated Query
• Es la "razón" de casi todas las novedades de VB9
• LINQ nos permite crear expresiones de
"consultas" al estilo de T-SQL:
SELECT, FROM, JOIN, WHERE, ORDER BY, etc.
Novedades de VB 9.0
For Each i In q1
Console.WriteLine(i)
Next
Novedades de VB 9.0
Instrucciones de consultas
• Para usar con LINQ
• Es la razón de ser de la inferencia de tipos, los
tipos anónimos y la inicialización de tipos
Instrucciones de consultas
• Intellisense nos mostrará en cada momento las
instrucciones que podemos usar
Novedades de VB 9.0
Inferencia de tipos
• El compilador asume el tipo de las variables
dependiendo del valor asignado
Tipos anónimos
• Nos permite crear tipos "al vuelo"
Tipos anónimos
• IntelliSense "sabe" que esos tipos tienen esas
propiedades que hemos definido
Novedades de VB 9.0
Inicialización de objetos
• Aprovecha la forma de definir de los tipos
anónimos, pero usando tipos declarados
Expresiones Lambda
• Funciones en línea o funciones anónimas
Console.WriteLine(an(3))
Novedades de VB 9.0
Métodos extensores
• Los métodos extensores nos permiten agregar
funcionalidad a las clases existentes
• Haciendo que parezca que usamos un método
propio de esa clase
• Podemos extender cualquier tipo, ya sea de .NET
o definidos en cualquier otra librería
• El primer parámetro será del tipo que queremos
extender
Novedades de VB 9.0
<Extension()> _
Public Function Mayúsculas(ByVal c As Colega) As String
Return (c.Nombre & ", " & c.Correo).ToUpper
End Function
Novedades de VB 9.0
XML (XLinq)
• Literales de XML
• Miembros de XML
Novedades de VB 9.0
Imports <xmlns:ns1="http://SomeNamespace">
Novedades de Visual Basic 2008
Mejoras de IntelliSense
• Reconoce automáticamente todas las novedades
del lenguaje
• Al igual que en Visual C# 2005, en el IDE de
Visual Basic 2008 se muestran las instrucciones
"desde el principio"
• Ha perdido un poco la "gracia" que tenía antes, pero...
las mejoras valen la pena con respecto a lo que se
pierde... por ejemplo, al asignar un valor a un
Boolean
Ya puedes conseguir
un libro sobre todas
las Novedades de
Visual Basic 2008
en formato PDF
http://www.elguille.info/NET/NovedadesVB9
Nuevo libro en preparación
http://www.elguille.info/NET/AprendaCSharp3
Novedades de VB 9.0