为什么我不需要在c#中实现这些抽象函数呢?

本文关键字:抽象函数 实现 不需要 为什么 | 更新日期: 2023-09-27 17:54:00

我正在扩展一个抽象类场景:

class IntroScene : Scene
{
    //
}
如你所见,它没有做任何事情。抽象类Scene有抽象函数:
public abstract void LoadContent(ContentManager content);

但是,它并没有向我抱怨我应该实现它们。为什么不呢?这是我习惯的。

我在Visual Studio 2015中使用。net框架4.6.1做这件事。直到最近,我只使用。net 4.0。这是c# 6.0新特性的变化,还是我遗漏了什么?

为什么我不需要在c#中实现这些抽象函数呢?

你当然错过了一些东西。
可能的场景:

  1. class IntroScene : Scene中的Scene不是它的本意。仔细检查,确保你没有从不同的类派生。

  2. SceneIntroScene在不同的程序集中,或者编译器或visual studio未能跟踪Scene的变化,或者您忘记保存Scene在其中实现的文件或... .您引用了一个错误的程序集,该程序集在您制作Scene抽象后未更新。检查参考或重新构建项目

  3. 不要忘记我们是软件开发人员。也许这是一个bug或一个奇怪的问题,没有人遇到过,没有人知道如何重现它,面对它的可能性非常低。试着重新启动visual studio或者你的电脑。也许你甚至需要离开你的房间,重新进入!