Manejando las Properties C# Like a Ninja | .Net Core | Visual Code

Saludos, que tal volveré acá a escribir un poco como a los inicios del blog. En esta entrada trataremos lo que son las Properties en C#.

Las propiedades nos permiten controlar la accesibilidad de las variables de una clase y es la forma recomendada de acceder a variables desde el exterior en un lenguaje de programación orientado a objetos como C #. En el video Live que realice en Facebook via  streaming, puedes verlo aca si te lo perdiste, vimos el uso de una Properties por primera vez, y el concepto es realmente muy simple.

Una propiedad es como una combinación de una variable y un método –  esta no puede tomar ningún parámetro-, pero es capaz de procesar el valor antes de que se asigne a nuestro devuelto.

Una propiedad consta de 2 partes, un get y un método de set, contenido dentro de la propiedad:

private string color;

public string Color
{
    get{ return color;}
    set{color = value;}
}

El método get debe devolver la variable, mientras que el método set debe asignarle un valor. El ejemplo es tan simple como es posible, pero puede extenderse. Otra cosa que debemos debe saber sobre las Properties es el hecho de que sólo se requiere un método – ya sea get o set. Esto nos permite definir las propiedades de solo lectura y escritura. Aquí hay un ejemplo de cómo utilizar las propiedades:

public string Color
{
    get 
    {  // vuelve el string a minusculas.
        return color.ToLower(); 
    }
    set 
    { 
        if(value == "Rojo")
            color = value; 
        else
            Console.WriteLine("A mi me gustan Rojos !!");
    }
}

Esta propiedad hace que la variable  color se devolverá ahora en minúsculas, ya que aplicamos el método ToLower () antes de devolverlo, y cuando intentamos establecer el color, sólo se aceptará el valor “Rojo”. Claro, este ejemplo no es Waoooo de tan útil, pero muestra el potencial de las propiedades.

Comments

Dejar una contestacion

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