VB.NET – Propiedades (diferencias con C#)

Como continuación al post anterior, sobre Propiedades en C#, en éste voy a explicar cómo se declaran estos elementos en VisualBasic.NET.

La sintaxis de VB es muy diferente a la de C#, pues es más cercana al lenguaje natural. La declaración de las propiedades es más parecida a un método que a una variable.

Private variable As String
Public Property propiedad() As String
    Get
        Return variable
    End Get
    Set(ByVal value As String)
        variable = value
    End Set
End Property

La propiedad lleva los paréntesis en la declaración, aunque en su implementación no son necesarios, ya que no tiene parámetros (ni debe).

Dentro de Set también hay diferencia, pues ahí se especifica el parámetro value, cosa que en C# no es necesaria.

Otra diferencia es al crear propiedades de sólo lectura y sólo escritura. Se debe declarar explícitamente una propiedad de estos tipos.

Private _precio As Decimal
Public WriteOnly Property Precio() As Decimal
    Set(ByVal value As Decimal)
        _precio = value
    End Set
End Property

Public ReadOnly Property propiedad() As String
    Get
        Return _precio * 0.16
    End Get
End Property

La diferencia con C# es que si declaramos una propiedad ReadOnly en VB.NET y definimos la sección Set, se marcará como un error en la compilación. Lo mismo si definimos Get en una propiedad WriteOnly.

Además, al declarar una propiedad en VB, automáticamente genera las secciones Get y Set. Si la hacemos sólo lectura/escritura, se crea la sección correspondiente.

La versión de VB.NET 9 para .NET 3.5 no tiene diferencias con las versiones anteriores, como en el caso de C#, explicado en el post anterior.

Anuncio publicitario

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s