新手关注:创建新的void方法的问题.c#

本文关键字:void 方法 问题 创建 新手 | 更新日期: 2023-09-27 18:10:38

我试图在一个新的类,我做了一个方法…

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

我一直看到一个红色的弯弯曲曲的空白下面说…"期望的类、委托、枚举、接口或结构错误"

我不知道我错过了什么…

新手关注:创建新的void方法的问题.c#

如果方法是在类的之外声明的,就会得到这个错误。

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;
        }
    }
}

确保该方法位于类中,并且类/属性/其他方法的大括号在方法前后对齐。还要确保前面的语句有一个;(分号)。

这个问题通常是因为方法前的大括号不匹配或者缺少分号:

正确

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;
        }
    }
}

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