Сообщение об ошибке «Программа CS5001 не содержит статический метод« Main », подходящий для точки входа», имеет несколько классов - PullRequest
0 голосов
/ 25 июня 2018

Итак, вот в чем дело, у меня на данный момент 2 класса (планирование добавления нескольких), и я получаю эту ошибку, когда пытаюсь вызвать функции из обоих классов. То же пространство имен. Я дважды проверил и посмотрел на мою вкладку свойств, чтобы убедиться, что она настроена на компиляцию.

using System;

namespace Game
{
public class SecondSet
{

    public void SituationSecondOne()
    {
        Console.WriteLine(" ");
        Console.WriteLine("Choices:");
        Console.WriteLine("1: First");
        Console.WriteLine("2: Second");
        Console.WriteLine(" ");

        int ChoiceOne = Convert.ToInt32(Console.ReadLine());

        switch (ChoiceOne)
        {
            case (1):
                Console.WriteLine("TEST2");
                break;
            case (2):
                Console.WriteLine("TEST2");
                break;
            case (1337):
                Console.WriteLine(" ");
                Console.WriteLine("Thank you for playing");
                Console.ReadLine();
                Environment.Exit(1);
                break;
            default:
                Console.WriteLine(" ");
                Console.WriteLine("Now, let's try that again ... (¬_¬)");
                SituationSecondOne();
                break;
        }
    }
 }
}

Теперь, когда я вызываю функцию со второго на первое, я не получаю ошибки. Какой тип метода Main () мне нужен для этого? (Я также пытался добавить оригинальную публичную пустоту Main (string [] args) , после добавления я больше не могу добавить public к функции, которую я хочу вызвать в первом классе )

ПРИМЕЧАНИЕ: я добавил это в первый класс

SecondSet s2 = new SecondSet();

И он работает нормально, так как код выложен выше, но я упоминал об ошибке компиляции. клапан пожалуйста исправить : /

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Непонятно, что вы имеете в виду. Но Я тоже смотрел на эту проблему, и в моем случае решение было слишком простым. Я добавил новый пустой проект в решение. Недавно добавленный проект автоматически устанавливается как консольное приложение. Но поскольку добавленный проект был «пустым», в этом новом проекте не было никакого Program.cs. (Как и ожидалось)

Все, что мне нужно было сделать, это изменить тип вывода свойств проекта на библиотеку классов

Измените тип вывода в Project> Properties на «Class Library». По умолчанию для этого параметра установлено значение «Консольное приложение».

   static void Main()
   {
   }
0 голосов
/ 25 июня 2018

Может быть, ваша программа не содержит Main , который является точкой входа в консольное приложение, поэтому замените на и прочитайте this

 class Hello 
{

   public void SituationSecondOne()
{
    Console.WriteLine(" ");
    Console.WriteLine("Choices:");
    Console.WriteLine("1: First");
    Console.WriteLine("2: Second");
    Console.WriteLine(" ");

    int ChoiceOne = Convert.ToInt32(Console.ReadLine());

    switch (ChoiceOne)
    {
        case (1):
            Console.WriteLine("TEST2");
            break;
        case (2):
            Console.WriteLine("TEST2");
            break;
        case (1337):
            Console.WriteLine(" ");
            Console.WriteLine("Thank you for playing");
            Console.ReadLine();
            Environment.Exit(1);
            break;
        default:
            Console.WriteLine(" ");
            Console.WriteLine("Now, let's try that again ... (¬_¬)");
            SituationSecondOne();
            break;
    }
}
    static void Main() 
    {
        SecondSet s2 = new SecondSet();
        Console.ReadKey();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...