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.

Anuncios

Autor: Israel Muñoz

Soy desarrollador de software, principalmente dedicado a desarrollo de aplicaciones web. Especializado en .NET full-stack, además de tecnologías front-end HTML, CSS y JavaScript. A ratos, profesor de materias de informática. Me gusta mucho todo lo que tiene que ver con las tecnologías nuevas para desarrollo web, y el diseño de sitios y aplicaciones.

Responder

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. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s