Class inside class - 类型或命名空间定义,或预期的文件结尾

Class inside class - Type or namespace definition, or end-of-file expected

据我所知,C# 允许您在其他 类 中创建 类。为什么会出现此错误以及如何修复?错误:类型或命名空间定义,或预期文件结束

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

A class 可以在另一个 class 中定义,但不能在方法中定义。

public class Program
{
    public static void Main()
    {
        Person person = new Person();
    }

    class Person
    {
        public string Name { get; set; }
    };
}

您可以在其他 class 中创建一个 class。方法不能包含 class 声明。但是,您可以在一个方法中访问其他 class。您可以按如下方式更正您的代码;

using System;
class Program
{
    static void Main(string[] args)
    {
        //Accessing Person Class in Main Method
        Person person = new Person();
    }

    //Class Person within class Program
    class Person
    {
        public string Name { get; set; }
    };
}

您可以从 Here

了解更多关于 Nested Classes 的信息