我的 C# 技能很低,但我不明白为什么以下失败:
public interface IQuotable {}
public class Order : IQuotable {}
public class Proxy {
public void GetQuotes(IList<IQuotable> list) { ... }
}
那么代码如下:
List<Order> orders = new List<Orders>();
orders.Add(new Order());
orders.Add(new Order());
Proxy proxy = new Proxy();
proxy.GetQuotes(orders); // produces compile error
我只是做错了什么而没有看到吗?由于 Order 实现了 Quotable,因此订单列表将作为 IList of quoatables 进入。我有类似 Java 的东西,它可以工作,所以我很确定我缺乏 C# 知识。