C# 非静态字段需要一个对象
这里真的没什么进展。我已经将代码简化为这段无法编译的代码。同样,错误是非静态字段、方法或属性需要对象C# 非静态字段需要一个对象,c#,enums,compiler-errors,arguments,C#,Enums,Compiler Errors,Arguments,这里真的没什么进展。我已经将代码简化为这段无法编译的代码。同样,错误是非静态字段、方法或属性需要对象 public class Scorer { public enum ScoringCategory {FullHouse} public int getScore(ScoringCategory category) { return 1; } } [TestClass] public class ScoringTests { [
public class Scorer
{
public enum ScoringCategory {FullHouse}
public int getScore(ScoringCategory category)
{
return 1;
}
}
[TestClass]
public class ScoringTests
{
[TestMethod]
public void TestFullHouse()
{
// Here is where I get the error
int myScore = Scorer.getScore(Scorer.ScoringCategory.FullHouse);
}
}
您需要创建Scorer的实例,因为它是一个实例方法,在类型的实例上声明,而不是像静态方法那样在类型本身上声明:
您需要创建Scorer的实例,因为它是一个实例方法,在类型的实例上声明,而不是像静态方法那样在类型本身上声明:
您的方法getScore是类Scorer的一个实例方法。您需要先创建Scorer类型的对象,然后才能使用该方法 这将有助于:
public class Scorer
{
public enum ScoringCategory {FullHouse}
public int getScore(ScoringCategory category)
{
return 1;
}
}
[TestClass]
public class ScoringTests
{
[TestMethod]
public void TestFullHouse()
{
// create an instance
var scorerInstance = new Scorer();
// call instance method getScore
int myScore = scorerInstance.getScore(Scorer.ScoringCategory.FullHouse);
}
}
您的方法getScore是类Scorer的一个实例方法。您需要先创建Scorer类型的对象,然后才能使用该方法 这将有助于:
public class Scorer
{
public enum ScoringCategory {FullHouse}
public int getScore(ScoringCategory category)
{
return 1;
}
}
[TestClass]
public class ScoringTests
{
[TestMethod]
public void TestFullHouse()
{
// create an instance
var scorerInstance = new Scorer();
// call instance method getScore
int myScore = scorerInstance.getScore(Scorer.ScoringCategory.FullHouse);
}
}
我将从封装类中删除枚举,并将其设置为静态,以便您可以在尝试执行以下操作时使用它:
public static enum ScoringCategory {FullHouse}
public class Scorer
{
public int getScore(ScoringCategory category)
{
return 1;
}
}
我将从封装类中删除枚举,并将其设置为静态,以便您可以在尝试执行以下操作时使用它:
public static enum ScoringCategory {FullHouse}
public class Scorer
{
public int getScore(ScoringCategory category)
{
return 1;
}
}
记分员记分员=新记分员;int myScore=scorer.getScoreScorer.ScoringCategory.FullHouse;或添加静态:public static int getScoreScoreScoringCategory类别您的类记分器不是静态的。记分器记分器=新记分器;int myScore=scorer.getScoreScorer.ScoringCategory.FullHouse;或者添加静态:public static int getScoreScoreScoringCategory类别您的类记分器不是静态的。谢谢!我正在做C++的转换,谢谢!我正在从C++中进行转换。