相关疑难解决方法(0)

.NET Casting通用列表

有人可以向我解释为什么在.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)

.net c# generics casting

6
推荐指数
4
解决办法
3万
查看次数

标签 统计

.net ×1

c# ×1

casting ×1

generics ×1