我一定做错了什么
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<IActor> actors = new List<IActor>(){new PlayerShip()};
我得到无法从[PlayerShip]转换为[IActor]
注意:为了简洁起见剪切代码
<小时/>
我意外地在两个不同的命名空间中定义了接口。没有更多的东西。
答案 0 :(得分:6)
你确定这是你的结构吗?我复制并粘贴了你的代码和编译过的动作,并且运行正常。
编辑:
你们需要退后一步......接口肯定会传播继承链。你告诉我,一个继承的控件没有实现IDisposable?