这里真的没有什么事。我已经将代码简化到了不会编译的这一小段。同样,错误是“非静态字段,方法或属性需要一个对象”。

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的实例,因为它是一个实例方法,该实例方法是在类型的实例上声明的,而不是在类型本身上声明的(类似于static方法):

var scorer = new Scorer();
int myScore = scorer.getScore(Scorer.ScoringCategory.FullHouse);

关于c# - 非静态字段需要一个对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30318629/

10-10 21:31