致命错误:公共类中需要Public Main()方法

时间:2019-10-03 22:09:04

标签: c# .net

尝试使用一些C#可能在这里出错,我在文本中看到了它,但我不断收到错误

  

致命错误:公共类中需要Public Main()方法

using System;
using System.Collections.Generic;
using System.Text;

namespace Beee
    {
        class SampleProgram
        {
            static void Main(string[] args)
            {
                object[] o = new object[] {"1", 4.0, "Abuja", 'B'};
                fun(o);
            }
            static void fun(params object[] obj)
            {
                for(int i=0; i<obj.Length-1; i++)
                Console.Write(obj[i] +"");
            }
        }
}

3 个答案:

答案 0 :(得分:4)

这是因为您正在使用的IDE(点净小提琴就是这样做的一个例子),因此需要在Main类中将public变成public方法才能运行您的代码:

using System;
using System.Collections.Generic;
using System.Text;

namespace Beee
{
    public class SampleProgram // <-- make class public
    {
        public static void Main(string[] args) // <-- make Main method public
        {
            object[] o = new object[] {"1", 4.0, "Abuja", 'B'};
            fun(o);
        }
        static void fun(params object[] obj)
        {
            for(int i=0; i<obj.Length-1; i++)
                Console.Write(obj[i] +"");
        }
    }
}

答案 1 :(得分:0)

您的错误:

  

致命错误: public 类中需要Public Main()方法

Microsoft文档:

  

直接在名称空间(...)中声明的类和结构可以是公共的或内部的。 如果未指定访问修饰符,则内部为默认值。

来源:Access Modifiers (C# Programming Guide)

您的代码:

namespace Beee
    {
        class SampleProgram
        {
            static void Main(string[] args)
            {
                // ...
            }
        }
}

反问:您的课程的访问修饰符是什么?


附录

还请注意:

  

致命错误:公共类中需要公共Main()方法


所有重点都是我的。

答案 2 :(得分:0)

您的应用程序入口点不符合标准。 Check out this example.似乎需要在使用名称空间时制作所有public keywords

using System;
using System.Collections.Generic;
using System.Text;

namespace Beee
    {
        public class SampleProgram
        {
            public static void Main(string[] args)
            {
                object[] o = new object[] {"1", 4.0, "Abuja", 'B'};
                fun(o);
            }
            static void fun(params object[] obj)
            {
                for(int i=0; i<obj.Length-1; i++)
                Console.Write(obj[i] +"");
            }
        }
}