es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Clase dentro de clase – Se espera una definición de tipo o espacio de nombres, o fin de archivo.

Hasta donde sé, C# te permite crear clases dentro de otras clases. ¿Por qué estoy recibiendo este error y cómo se puede solucionar? Error: Se esperaba definición de espacio de nombres o de tipo, o fin de archivo.

using System;

public class Program
{
    public static void Main()
    {
        class Persona {<br>
            public string Nombre{ get; set; }
        };

        Persona persona = new Persona();
    }
}
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Estás obteniendo el error porque C # no permite definiciones de clases anidadas dentro de un método. Para solucionar este error, debes mover la definición de clase fuera del método principal. Aquí tienes un fragmento de código actualizado sin el error:

    using System;
    
    public class Person {           
        public string Name { get; set; }
    }
    
    public class Program
    {
        public static void Main()
        {
            Person person = new Person();
        }
    }
    

    En este fragmento de código actualizado, la definición de la clase Person se mueve fuera del método Main y se coloca antes de la definición de la clase Program.

Comments are closed.