C# 为什么';我的接口不能继承吗?

C# 为什么';我的接口不能继承吗?,c#,.net,oop,C#,.net,Oop,我一定是做错了什么 public interface IActor { //actor stuff } public class BaseShip : IActor { //base ship stuff } public class PlayerShip: BaseShip { //Only the stuff for this particular ship } 那么为什么这不起作用: IActor player = new PlayerShip(); 或 L

我一定是做错了什么

public interface IActor
{
    //actor stuff
}

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

public class PlayerShip: BaseShip
{
    //Only the stuff for this particular ship
}
那么为什么这不起作用:

IActor player = new PlayerShip();

List actors=new List(){new PlayerShip()};
我无法从[PlayerShip]转换为[IActor]

注意:为了简洁起见,代码被剪掉了


更新
我意外地在两个不同的名称空间中定义了接口。没什么了。

你确定这就是你的结构吗?我复制并粘贴了您的代码,编译的操作对我来说运行良好

编辑:


你们需要退后一步……接口当然会沿着继承链向下传播。你是说继承的控件没有实现IDisposable?

你确定这是你的结构吗?我复制并粘贴了您的代码,编译的操作对我来说运行良好

编辑:


你们需要退后一步……接口当然会沿着继承链向下传播。您是说继承的控件没有实现IDisposable?

您遇到的确切问题/错误是什么?您的代码在我看来很好。请参阅操作的顶部。我可能应该休息一下;)请随时帮我关闭。您遇到的确切问题/错误是什么?您的代码在我看来很好。请参阅操作的顶部。我可能应该休息一下;)请随时帮我关闭它。该死,看来我是偶然在两个不同的名称空间中定义了IActor。将结束该主题。Sorry@boris:不,只有3k或更高级别的用户才能投票关闭。该死,看来我是无意中在两个不同的名称空间中定义了IActor。将结束该主题。Sorry@boris:否,只有3k或更高级别的用户才能投票关闭。
List<IActor> actors = new List<IActor>(){new PlayerShip()};