声明密闭方法失败了,奇怪的编译异常
声明密闭方法失败了,奇怪的编译错误
我尝试从一个接口继承,然后把方法进行密闭:
结果编译错误
Error 1 'NS2.M.f()' cannot be sealed because it is not an override
可是我明明加上了sealed关键字啊,不懂了
------解决思路----------------------
光实现接口不需要写override和sealed
下面这种情况才行
------解决思路----------------------
接口还只是实现,还没到重写呢
------解决思路----------------------
接口是契约,是一种约定
override用来重写基类方法成员
------解决思路----------------------
根据呢?难道是根据c++或者java?
------解决思路----------------------
在C#里只有virtual/abstract修饰的成员才可以重写
我尝试从一个接口继承,然后把方法进行密闭:
interface I
{
void f();
}
public class M : I
{
sealed public override void f()
{
}
}
结果编译错误
Error 1 'NS2.M.f()' cannot be sealed because it is not an override
可是我明明加上了sealed关键字啊,不懂了
------解决思路----------------------
光实现接口不需要写override和sealed
下面这种情况才行
interface I
{
void f();
}
public class L : I
{
public virtual void f()
{
}
}
public class M : L, I
{
sealed public override void f()
{
}
}
------解决思路----------------------
接口还只是实现,还没到重写呢
------解决思路----------------------
接口是契约,是一种约定
override用来重写基类方法成员
------解决思路----------------------
根据呢?难道是根据c++或者java?
------解决思路----------------------
在C#里只有virtual/abstract修饰的成员才可以重写