Я пытаюсь написать консольную ролевую игру на С#. У меня есть класс Party, содержащий список Героев, PlayerTeam. Я создаю экземпляр класса Party PlayerTeam в своем static void Main(string[] args и пытаюсь написать новую функцию, создающую встречу с врагом. Однако, когда я пытаюсь сослаться на класс Party, созданный в функции Main, я получаю сообщение об ошибке The name 'PlayerTeam' does not exist in the current context. Любая помощь приветствуется.





Добро пожаловать! Поскольку метод Main всегда статичен, любые нелокальные переменные, на которые ссылается метод Main, также должны быть статическими. Отметьте переменную PlayerTeam как статическую.
// change this:
// public Party PlayerTream
// to this:
public static Party PlayerTeam;
В долгосрочной перспективе вы захотите создать какой-то объект Game и заставить его создавать все ваше состояние, а не статические переменные повсюду.
Вам нужно переместить объявление PlayerTeam из вашего метода Main() на уровень CLASS, чтобы он был доступен из любого места:
public static Party PlayerTeam;
public static void Main(string[] args)
{
PlayerTeam = new Party();
}
Добро пожаловать. Показ связанного кода — это всегда хороший способ начать. Как вы сами сказали, вы создали экземпляр своего класса в методе
main. Ваша новая функция не знает, что она существует, без вашего ведома.