• Jueves 25 de Abril de 2024, 08:40

Autor Tema:  error en llamada una clase: "no es accesible"  (Leído 7550 veces)

Kandu123

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
error en llamada una clase: "no es accesible"
« en: Martes 19 de Agosto de 2008, 15:55 »
0
Buenos Dias

tengo el siguiente codigo:

namespace Vigilancia

{
     class Celador
    {
        string nombre;
        double valorHora;
        string fechaNacimiento;
        bool escopeta = false;

       public Celador(string nom, double valorHor, string fechaNac, bool escopet)
         {
             nombre = nom;
             valorHora = valorHor;
             fechaNacimiento = fechaNac;
             escopeta = escopet;
          }

    }
     class Ppal
          {
               
                  [STAThread]
                    static void Main(string[] args)
                      {
                         //Instanciamos dos objetos de la clase Celador
                         //en otras palabras creamos a los Celadores Rodrigo y Oscar

                                               Celador celador1 = new  Celador(); // aqui aparece el error

                                               celador1.nombre = "Rodrigo";

                                               celador1.valorHora = 10000;

                                               celador1.fechaNacimiento = "10/03/1965";
                            }

                         


}



tengo un problema y me aparece el siguiente error:

Error   2   'Vigilancia.Celador.nombre' no es accesible debido a su nivel de protección

gracias cualquier ayuda.

saludos

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re: error en llamada una clase: "no es accesible"
« Respuesta #1 en: Martes 19 de Agosto de 2008, 18:59 »
0
1. Recuerda utilizar [ code][ /code], mejora la legibilidad del codigo.
2. El error sucede porque las variables de tu clase no estan definidas explicitamente como public, y por defecto, las variables de una clase son de tipo private, con el constructor pasa lo mismo, no tienes un constructor para Celador() con cero parametros, entonces el compilador crea un constructor por defecto, y los constructores por defecto son de tipo private, asi que por eso dice que el constructor no esta accesible.

La solucion es que declares tus variables explicitamente como public,

Código: C#
  1.  
  2. class Celador
  3. {
  4. public string nombre;
  5. public double valorHora;
  6. public string fechaNacimiento;
  7. public bool escopeta = false;
  8.  
  9.  

ademas define explicitamente un contructor por defecto de tipo public o utiliza el otro constructor que ya tienes, y pasale los parametros, ejemplo:

Código: C#
  1.  
  2. Celador celador1 = new Celador("Rodrigo", 10000, "10/03/1965", true);
  3.  
  4.  

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

Kandu123

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: error en llamada una clase: "no es accesible"
« Respuesta #2 en: Martes 19 de Agosto de 2008, 20:45 »
0
Muchas Gracias, ye resolvi la duda.
saludos