在运行时获取对象的父类型

时间:2016-02-24 23:25:26

标签: c# inheritance xna monogame

我现在一直在努力解决问题,而且我不确定它是否有实际解决方案。

我一直在尝试编写一个迭代特定对象类型列表的函数,并只返回另一个类型(或从其继承)的对象。

    public List<Entity> getEntities(Type t)
    {
        List<Entity> returnList = new List<Entity>();

        foreach (Entity e in entityList)
        {
            if (e is t)
            {
                returnList.Add(e);
            }
        }

        return returnList;
    }

这是我一直在使用的代码。问题是 不适用于变量,而我发现的任何其他解决方案都不会检查继承,这让我相信这不可能在运行时完成。

有没有更好的方法来做我正在尝试的事情,或者我是否需要找到一个完全不同的解决方案?

谢谢!

1 个答案:

答案 0 :(得分:2)