0

我已经阅读了至少一个类应该包含 Main 方法,因为执行的入口点是 Main()。让我们看看下面的代码。

using System;
namespace consoleApplication
{
    class sample
    {
        public static void Main()
        {
            Console.WriteLine("Demo program");
            Console.ReadKey();
        }
    }
}

我们知道可以使用带有类名的点运算符来调用类中的静态方法。那么我们可以将 Main() 称为

sample.Main();

就像我们打电话一样

Console.WriteLine();

并请告诉我它在语法上是否正确,即使我们没有使用它。

4

1 回答 1

4

默认情况下,类和Main()方法被创建为私有成员。如果您绝对想要,您可以将它们设为公共成员,然后从另一个项目中调用它们。

namespace ConsoleApplication1
{
    public class sample
    {
        public static void Main()
        {
            Console.WriteLine("My Output...");
            Console.ReadKey();
        }
    }
}

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            sample.Main();
        }
    }
}

输出:“我的输出……”

但是,我不知道为什么有必要这样做。这就是创建库的目的。相反,我会创建一个类库并在其中创建我的静态类/方法。

您的Main()方法只是控制台应用程序的入口点。每个应用程序都有一个入口点。我想不出你会创建几个应用程序项目,然后Main()从其他项目调用方法的用例。相反,我会创建一个将用作库而不是应用程序的新项目。这就是类库的意义所在。

最后一个问题的答案,这在语法上是否正确?是的。我再次强调,这不是好的做法。来自MSDN “Main 必须是静态的,并且不应该是公共的。” 仅仅因为它可以做到,并不意味着它应该做到。

于 2012-07-24T19:18:57.210 回答