为什么我的界面没有继承?

Bor*_*ens 0 .net c# oop

我一定做错了什么

public interface IActor
{
    //actor stuff
}

public class BaseShip : IActor
{
    //base ship stuff
}

public class PlayerShip: BaseShip
{
    //Only the stuff for this particular ship
}
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用:

IActor player = new PlayerShip();
Run Code Online (Sandbox Code Playgroud)

要么

List<IActor> actors = new List<IActor>(){new PlayerShip()};
Run Code Online (Sandbox Code Playgroud)

我得到无法从[PlayerShip]转换为[IActor]

注意:为简洁起见,剪切代码


更新

我意外地在两个不同的命名空间中定义了接口.没有更多的东西.

Ada*_*son 6

你确定这是你的结构吗?我复制并粘贴了你的代码和编译过的动作,并且运行正常.

编辑:

你们需要退一步......接口肯定会传播继承链.你告诉我一个继承的控件没有实现IDisposable?