有人可以向我解释为什么在.NET 2.0中,如果我有一个接口,IPackable以及一个实现该接口的类OrderItem,当我有一个接受a的方法List<IPackable>,传入一个列表List<OrderItem>不起作用?
有谁知道我怎么能完成这个功能?
码:
public interface IPackable {
double Weight{ get; }
}
public class OrderItem : IPackable
public List<IShipMethod> GetForShipWeight(List<IPackable> packages) {
double totalWeight = 0;
foreach (IPackable package in packages) {
totalWeight += package.Weight;
}
}
Run Code Online (Sandbox Code Playgroud)
以下代码不起作用.
List<OrderItem> orderItems = new List<OrderItem>();
List<IShipMethod> shipMethods = GetForShipWeight(orderItems);
Run Code Online (Sandbox Code Playgroud)