C# CS0120“;非静态字段、方法或属性需要对象引用“PlayerProption”;如何修复?
这是我的代码,我已经评论了错误的位置:C# CS0120“;非静态字段、方法或属性需要对象引用“PlayerProption”;如何修复?,c#,C#,这是我的代码,我已经评论了错误的位置: using System; using ScissorsPaperRock; namespace ScissorsPaperRock { public class ThePlayerOption { public UNIT thePlayerChosenOption; public static void Main() { Console.WriteLine(&quo
using System;
using ScissorsPaperRock;
namespace ScissorsPaperRock
{
public class ThePlayerOption
{
public UNIT thePlayerChosenOption;
public static void Main()
{
Console.WriteLine("Select an option. 1 = Scissors, 2 = Paper, 3 = Rock");
int Option = Convert.ToInt32(Console.ReadLine());
if (Option == 1)
{
thePlayerChosenOption = UNIT.SCISSORS; // CS0120
}
else if (Option == 2)
{
thePlayerChosenOption = UNIT.PAPER; // CS0120
}
else if (Option == 3)
{
thePlayerChosenOption = UNIT.ROCK; // CS0120
}
else
{
Console.WriteLine("Please try again!");
}
}
}
}
我不明白这个错误想要我做什么,因为下面的代码不会产生错误:
using System;
namespace ScissorsPaperRock
{
public class TheAIOption
{
public UNIT theAIChosenOption;
void Start()
{
System.Random rnd = new System.Random(); // Makes the random class.
int AISelect = rnd.Next(0, 2);
{
if (AISelect == 0)
theAIChosenOption = UNIT.SCISSORS;
else if (AISelect == 1)
theAIChosenOption = UNIT.PAPER;
else
theAIChosenOption = UNIT.ROCK;
// This code SHOULD select one of the three enums in Options.cs and keep the selected option on hand.
}
}
}
}
是什么导致了这个错误?更重要的是,我如何才能干净地修复它
干杯。
公共单位爱科斯诺普代码>和<代码>公共单元的播放关闭选项代码>都是类成员
void Start()
是一种类方法:它可以自由访问类成员(“对象实例方法”)
publicstaticvoidmain()
是一个静态类方法。要访问播放或关闭选项,您必须:
a) 提供对象引用(错误消息的要点)
。。。或者
b) 将成员声明为静态:publicstaticunittheplayercosenoption代码>
从Microsoft文档中:
非静态字段、方法或对象需要对象引用
属性“成员”
要使用非静态字段、方法或属性,必须
首先创建一个对象实例。有关静态的详细信息,请参见
方法,请参见静态类和静态类成员。更多
有关创建类实例的信息,请参见实例
构造器
这里有一篇好文章(很多文章中的一篇!):
公共单位爱科斯诺普代码>和<代码>公共单元的播放关闭选项代码>都是类成员
void Start()
是一种类方法:它可以自由访问类成员(“对象实例方法”)
publicstaticvoidmain()
是一个静态类方法。要访问播放或关闭选项,您必须:
a) 提供对象引用(错误消息的要点)
。。。或者
b) 将成员声明为静态:publicstaticunittheplayercosenoption代码>
从Microsoft文档中:
非静态字段、方法或对象需要对象引用
属性“成员”
要使用非静态字段、方法或属性,必须
首先创建一个对象实例。有关静态的详细信息,请参见
方法,请参见静态类和静态类成员。更多
有关创建类实例的信息,请参见实例
构造器
这里有一篇好文章(很多文章中的一篇!):
您的单元layerCosNoption
变量声明为类变量,但您试图在静态上下文中访问它。在静态
方法中,将播放选项
标记为静态
或提供类型为播放选项
的对象。我还考虑到您的单元
枚举是在代码中的其他地方定义的。您的单元layerCosNoption
变量声明为类变量,但您试图在静态上下文中访问它。在静态
方法中,将播放选项
标记为静态
或提供类型为播放选项
的对象。我还考虑到您的单元
枚举是在代码中的其他地方定义的。先生,对象还没有在那里吗?我需要你详细说明我的密码和错误。单元是一个枚举,正在从另一个文件引用。我发布的第二段代码没有错误,只是在我评论的地方。怎么了?先生,物体不在那里吗?我需要你详细说明我的密码和错误。单元是一个枚举,正在从另一个文件引用。我发布的第二段代码没有错误,只是在我评论的地方。那么怎么了?就像那样,添加“static”会导致错误消失。就像那样,添加“static”会导致错误消失。格雷西亚斯。