private (Referencia de C#)

La palabra clave private es un modificador de acceso de miembros. El acceso de tipo private corresponde al nivel de acceso más restrictivo. Los miembros privados sólo son accesibles dentro del cuerpo de la clase o struct en los que se declaran, como en el siguiente ejemplo.

class Employee
{
    private int i;
    double d;   // private access by default
}

Los tipos anidados del mismo cuerpo también pueden tener acceso a esos miembros privados.

Hacer referencia a un miembro privado fuera de la clase o struct en los que se declara produce un error de compilación.

Para obtener una comparación de private con el resto de los modificadores de acceso, vea Niveles de accesibilidad (Referencia de C#) y Modificadores de acceso (Guía de programación de C#).

Ejemplo

En este ejemplo, la clase Employee contiene dos miembros de datos privados, name y salary. Como miembros privados, sólo pueden tener acceso a ellos los métodos miembro. Los métodos públicos denominados GetName y Salary se agregan para permitir un acceso controlado a los miembros privados. Se obtiene acceso al miembro name a través de un método público y al miembro salary a través de una propiedad pública de sólo lectura. (Vea Propiedades (Guía de programación de C#) para obtener más información.)

class Employee2
{
    private string name = "FirstName, LastName";
    private double salary = 100.0;

    public string GetName()
    {
        return name;
    }

    public double Salary
    {
        get { return salary; }
    }
}

class PrivateTest
{
    static void Main()
    {
        Employee2 e = new Employee2();

        // The data members are inaccessible (private), so
        // they can't be accessed like this:
        //    string n = e.name;
        //    double s = e.salary;

        // 'name' is indirectly accessed via method:
        string n = e.GetName();

        // 'salary' is indirectly accessed via property
        double s = e.Salary;
    }
}

Especificación del lenguaje C#

Para obtener más información, vea la Especificación del lenguaje C#. La especificación del lenguaje es la fuente definitiva de la sintaxis y el uso de C#.

Vea también

Referencia

Palabras clave de C#

Modificadores de acceso (Referencia de C#)

Niveles de accesibilidad (Referencia de C#)

Modificadores (Referencia de C#)

public (Referencia de C#)

protected (Referencia de C#)

internal (Referencia de C#)

Conceptos

Guía de programación de C#

Otros recursos

Referencia de C#