Novedades en C# 3.0: Propiedades automáticas…¿Se permiten propiedades automáticas Read-Only o Write-Only?

Hace unas semanas José M. Alarcón nos hablaba de una de las innovaciones en el lenguaje que aparecen en C# 3.0: las propiedades automáticas. En ese post, nos explicaba como de manera muy sencilla, rápida e intuitiva podemos definir una propiedad de manera automática utilizando una sintaxis como la siguiente:

public string Nombre { get; set; }

De manera que es el compilador el que generará todo el resto de elementos que constituyen la variable privada. Ahora bien, (y esta cuestión surgió en el último seminario que sobre Visual Studio 2008 hemos impartido en el CIIN) una pregunta que nos pueden hacer es la siguiente: ¿Es posible definir propiedades automáticas que sean Read-Only o Write-Only? La respuesta es que no, de hecho en esta entrada ya se adelantaba que en las propiedades automáticas es obligatorio tener declarado un "getter" y un "setter", es decir, no se permiten propiedades automáticas Read-Only o Write-Only…y como una imagen a veces vale más que mil palabras, aquí tenéis la correspondiente prueba:

 

image

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

8 comentarios en “Novedades en C# 3.0: Propiedades automáticas…¿Se permiten propiedades automáticas Read-Only o Write-Only?”

  1. Hola Espinete!
    Gracias a ti…eso haremos…de hecho tengo pendiente responder una pregunta que hiciste a al post sobre Dynamic LINQ.

    Un saludo

    JC’s

  2. Ey Ismael!
    Perfecto…no me dí cuenta de utilizar private…como comentas, utilizando los modificadores que nos da C# podemos implementar propiedades automáticas Read Only o Write Only aunque la implementación “rápida” no lo permita.

    Gracias por el apunte

    JC’s

  3. mmm, tengo mis dudas acerca de poner public a un propiedad, pues por definicion deberia ser privada, si la colocamos publica no tendria caso el set y get, se supone que estos metodos son los publicos, y al implementar estoe metodos publicos, podemos modificar alas propiedades

  4. ups, lo siento, ya encontre mi error, al ser implicitas las propiedades, no es necesario declarar el atributo y despues los metodos… sorry!!

  5. Buen artículo!

    Gracias Ismael por el “tip”, empezaba a pensar que cual era la utilidad de estasp ropeidades si tenia que declarar ambos “accessors”

    Un saludo.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *