Noob关注:制作新的无效方法的问题。 C#

时间:2011-10-07 20:05:55

标签: c#

我正在尝试在我制作的新课程中制作一个方法......

public void CalcDrinks(bool HealthOption) 
{
    if (HealthOption)
    {
        CostOfBeverage = 5M; 
    }
    else
    {
        CostOfBeverage = 20M; 
    }
}

我一直在虚空之下得到一个红色的波浪形......“预期的类,代表,枚举,界面或结构错误”

我不确定我错过了什么......

3 个答案:

答案 0 :(得分:7)

如果方法在类的外部被声明,那么你就会得到那个错误。

namespace Blah
{
    public void CalcDrinks(bool HealthOption) 
    {
        if (HealthOption)
        {
            CostOfBeverage = 5M; 
        }
        else
        {
            CostOfBeverage = 20M; 
        }
    }
}

在此片段中,没有可见的类定义。将其修复到下面并查看它是否已编译。

public class Foo
{
    private decimal CostOfBeverage;

    public void CalcDrinks(bool HealthOption)
    {
        if (HealthOption)
        {
            CostOfBeverage = 5M;
        }
        else
        {
            CostOfBeverage = 20M;
        }
    }
}

答案 1 :(得分:4)

确保方法在类中,并且类/属性/其他方法在方法排列之前和之后括起来。还要确保前一个语句有;(分号)。

这个问题通常会发生,因为你在方法之前有不匹配的大括号,或者你的分号丢失了:

正确

namespace A
{
    public class AA
    {
        public string B {get; set; }    
        public string C {get; set; }
        public void ShowD()
        {
            DoSomething;
        }

    }
}

不正确

namespace A
{
    public class AA
    {
        public string B { get; set; }      
        public string C {get; set;    // <--Note missing brace)
        public void ShowD()
        {
            DoSomething;
        }

    }
}

答案 2 :(得分:1)

您在示例中缺少一些代码,但根据错误消息,您的函数在类之外声明。您的方法的代码必须嵌套在您的类中。