如何检索特定子类的对象?

时间:2013-06-14 04:18:28

标签: c# generics

我有一个“实体”类,它有一个“组件”对象列表。现在,'Component'只是一堆不同子类的根类,每个子类只能在每个实体上表示一次。现在,我想检索某种类型的“组件”,我该怎么做?

解释起来有点困难,但这里是我想要的代码示例:

class Component {...} // The root class
class CompA : Component {...} // A type of Component
class Entity { List<Component> components; } // Entity with a list of component

...

Entity entity = new Entity(); // Create a new entity
entity.components.Add(new CompA()); // Add a component of type 'CompA'
CompA c = entity.GetComponent<CompA>(); // This is what I'd like to do :)

1 个答案:

答案 0 :(得分:2)

e.Components.OfType<theType>();