2011-04-07 11 views
6

En C# Puedo hacer esto:¿VB.NET admite getters y setters automáticos en las propiedades?

public string myProperty { get; private set; } 

Esto se conoce como un "captador automática/definidor" (por lo que he oído). ¿VB.NET los admite? Hasta ahora, con mis propiedades, todo lo que puedo hacer es esto:

Public Property myProperty As String 
    Get 
     Return String.Empty 
    End Get 
    Private Set(ByVal value As String) 
     somethingElse = value 
    End Set 
End Property 

que es extremadamente torpe.

Entonces ... ¿hay una manera mejor?

+0

posible duplicado de [equivalente VB.net de C# Abreviación de las propiedades?] (Http://stackoverflow.com/questions/460027/vb -net-equivalent-of-c-property-taquigrafía) –

+0

Eche un vistazo aquí: [http://stackoverflow.com/questions/460027/vb-net-equivalent-of-c-property-shorthand](http:/ /stackoverflow.com/questions/460027/vb-net-equivalent-of-c-property-shorthand) – icesar

Respuesta

19

Sí.

Public Property MyProperty As String 

Sin embargo, sólo se puede hacer que sea ReadOnly en VB 14 (vs 2015) o posterior.

+0

Ah, esa era mi verdadera pregunta ... Olvidé especificar que me refería a usar diferentes ámbitos en get vs. set (como 'get; private set;' por ejemplo), pero usted contestó eso de todos modos, ya que no puede hacerlo solo ReadOnly. ¡Gracias! – qJake

+3

Solo disponible en VB 2010+ – MarkJ

+0

Parece que puede [hacerlo de solo lectura] (https://msdn.microsoft.com/en-us/library/dd293589%28v=vs.140%29.aspx) a partir de 2015. – starwed