小编gre*_*bit的帖子

你如何将字典<int, child> 转换为字典<int, parent>?

假设我有:

public class Animal
{
    virtual public void Attack() {};
}
public class Lion : Animal
{
    public override void Attack() { base.Attack(); }
}
public class Boar : Animal
{
    public override void Attack() { base.Attack(); }
}
Run Code Online (Sandbox Code Playgroud)

以及这两种动物的容器:

Dictionary<int, Lion> lions;
Dictionary<int, Boar> boars;
Run Code Online (Sandbox Code Playgroud)

有没有办法投射“狮子”和“野猪”,以便我可以将它们传递给这样的函数?

void IterateTable(Dictionary<int, Animal> dictionary)
{
    foreach(var entry in dictionary)
        entry.Value.Attack();
}
Run Code Online (Sandbox Code Playgroud)

c#

10
推荐指数
2
解决办法
251
查看次数

标签 统计

c# ×1