我有一个名为StartingUserInterface
的类,该类具有这样写出的Teams
列表:
public class StartingUserInterface
{
public List<Team> Teams = new List<Team>();
public static string PlayerName;
AddPlayer();
}
在同一类中的一种方法中,我试图通过在Teams
列表中找到该团队,然后设置该玩家的名称,来向该用户指定的团队添加一个用户指定的玩家名称。给那个团队:
public static void AddPlayer()
{
PlayerName = Console.ReadLine();
Team team = new Team();
team.Name = Console.ReadLine();
team = Teams.Find(x => x.Name == team.Name);
team.AddPlayer(PlayerName);
}
这是Team
类的摘要:
public class Team
{
public string Name;
public void AddPlayer(string name)
{
Player Player = new Player()
{
Name = name;
};
}
我收到的错误消息说
“非静态字段,方法或属性'StartingUserInterface.Teams'要求对象引用
......,当我尝试将Teams列表项设置为Team对象:AddPlayer()方法中的team = Teams.Find(x => x.Name == team.Name);
时。我做错了什么吗?在我看来,这是说List对象不存在,但是我在类的开头创建了一个实例。
答案 0 :(得分:3)
您不能在静态方法中使用非静态字段,因此应使Teams
列出一个静态变量。
您的
public List<Team> Teams = new List<Team>();
已更改
public static List<Team> Teams = new List<Team>();