private (Referencia de C#)

Actualización: noviembre 2007

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 estructura en la 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 estructura en la 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 las secciones siguientes de Especificación del lenguaje C#.

  • 3.5.1 Accesibilidad declarada

  • 3.5.4 Restricciones de accesibilidad

  • 10.3.5 Modificadores de acceso

  • 10.3.8.2 Accesibilidad declarada

  • 10.3.8.5 Acceso a miembros privados y protegidos del tipo contenedor

Vea también

Conceptos

Guía de programación de C#

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#)

Otros recursos

Referencia de C#