【问题标题】:Class inside class - Type or namespace definition, or end-of-file expected [closed]类内的类 - 类型或命名空间定义,或预期的文件结尾[关闭]
【发布时间】:2021-12-31 08:09:15
【问题描述】:

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

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

【问题讨论】:

  • Person应该在main之外

标签: c# class object oop


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    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的信息

    【讨论】:

      猜你喜欢
      • 2016-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多