2008-09-23 10 views
11

¿Tendría una pequeña característica que hace que escribir código como Automatic Properties se ajuste muy bien al mantra de VB.NET?¿Por qué VB.NET 9 no tiene propiedades automáticas como C# 3?

Algo como esto funcionaría perfecto:

Public Property FirstName() As String 
    Get 
    Set 
End Property 

ACTUALIZACIÓN: VB.NET 10 (que viene con Visual Studio 2010 y .NET 4.0) tendrá propiedades automáticas. Aquí hay un enlace que muestra un poco de información acerca de la característica: http://geekswithblogs.net/DarrenFieldhouse/archive/2008/12/01/new-features-in-vb.net-10-.net-4.0.aspx

En VB.NET 10 Propiedades automática se define de esta manera:

Public Property CustomerID As Integer 

Respuesta

6

Una razón por la que muchas características se retrasan en VB es que la estructura de desarrollo es muy diferente a la de C# y, además, a menudo se piensa más en los detalles. Lo mismo parece ser cierto en este caso, como sugiere el Paul Vick's post al respecto. Esto es desafortunado porque significa un retraso en muchos casos (propiedades automáticas, métodos iteradores, lambdas multilínea, por nombrar algunos) pero, por otro lado, los desarrolladores de VB generalmente obtienen una característica mucho más madura en el largo plazo (mirando la discusión, esto será especialmente cierto para los métodos de iterador).

Por lo tanto, larga historia corta: VB 10 (con suerte!) Ver propiedades automáticas.

+8

No creo que VB.NET tenga más en cuenta antes de implementar una característica que C#. Estoy diciendo que simplemente no es el caso. –

+0

No digo que los desarrolladores de C# sean menos cuidadosos; Estoy diciendo que el ciclo de producción es más rápido y las características se introducen en el idioma y luego se actualizan. Este es definitivamente el caso con los métodos de iterador (¡intente recursing!) Y probablemente propiedades automáticas. –

+0

@Konrad: ¿métodos de Iterator en VB? ¿Dónde? ¿Cuando? –

1

C# y VB.NET no se alinean exactamente arriba en la nueva características en sus primeras versiones. Por lo general, en la próxima versión C# alcanza algunas características de VB.NET y viceversa. Me gusta el XML literal de VB.NET y espero que lo agreguen a C#.

3

Si quiere hacer las propiedades un poco más rápido, intente con los fragmentos de código. Tipo: Propiedad y justo después de escribir la "y", presione la tecla Tab :-).

Me di cuenta que no responde a la pregunta en particular, pero no le dan lo que el equipo de VB siempre ...

1

No hay ninguna razón en particular realmente. Siempre ha sido el caso que incluso cuando se dice que VB.NET y C# son igualmente poderosos (y para ser justos, son) sus sintaxis y algunas de las estructuras a veces difieren. Tienes dos equipos de desarrollo diferentes trabajando en los idiomas, por lo que es algo que puedes esperar que suceda.

+0

los idiomas * son * igualmente potentes; las herramientas provistas por ms difieren en funcionalidad. – hometoast

5

Tampoco era un gran problema en vb.net, ya que Visual Studio creará automáticamente el 90% del código de esqueleto de una propiedad para usted, mientras que con C# solía tener que escribirlo todo.

2

Sé que esta publicación es antigua, por lo que es posible que ya lo sepa pero VB está obteniendo propiedades automáticas en la próxima versión de VS.

Basado en response to feedback y Channel9.

-3

propiedades automáticas no son necesarias en vb la concesión que se hace mediante el uso de una propiedad automática es que no se puede modificar el Get y Set.

Si no los necesita, solo haga un campo de datos públicos.

VB tiene propiedades automáticas desde hace años. Simplemente los llamaron algo más.

+0

C# tiene campos públicos también. Y no son propiedades automáticas en ninguno de los dos idiomas: hay una diferencia. –

+1

Esto está mal. Los campos y las propiedades son cosas muy, muy diferentes. –

Cuestiones relacionadas