无效令牌'in'在类、结构或接口成员声明中

本文关键字:接口 成员 声明 在类 令牌 in 无效 结构 | 更新日期: 2023-09-27 18:08:46

class operation
{
    public void add(int val1 , int val2)
    {
        int result;
        result= val1+ val2;
        return  result;
    }
}
class view : operation
{
    public override in  add(int val1 , int val2)
    {   
        int result;
        result = val1+val2;
        return result;
    }
}
Invalid token 'in' in class, struct, or interface member declaration

如何从上面的代码中删除此错误?

无效令牌'in'在类、结构或接口成员声明中

in是c#中的保留关键字。您可能需要:

public override int add(int val1, int val2)

同样,为了能够重写派生类中的某些方法,该方法必须在基类中为virtual:

public class operation
{
    public virtual int add(int val1, int val2)
    {
        int result;
        result = val1 + val2;
        return result;
    }
}

operation基类中,你声明了没有返回类型的add方法,但你试图返回一个整数。

同样,重写基方法只是为了重复相同的代码是没有意义的。您可以简单地调用重写方法中的基方法:

public class view : operation
{
    public override int add(int val1, int val2)
    {
        return base.add(val1, val2);
    }
}

或简单的:

public class view : operation
{
}

是等价的,因为你没有在这个方法中修改任何东西

in不应该是int吗?第一个add不应该返回int而不是void吗?