在超类c#列表中使用子属性

时间:2012-04-28 17:42:10

标签: c#

我的场景是这样的:我有一个抽象的超类,让我们调用这个SuperClass和这个超类的一些子类,SubClass1,2,3 ..我有一个SuperClass列表,在这最后我添加了一些子类。

我希望找到具有特定属性的对象,这些属性对于给定的子类是特定的。

例如:

public abstract class SuperClass{
public string name;
public int value}
public class SubClass1: SuperClass{
public double speed;}

list<SuperClass> list = new list<SuperClass>();

所以从这里我想添加子类(具有不同的属性)并动态选择这些不同的属性(例如,如果可能的话,一些客户端谓词)

1 个答案:

答案 0 :(得分:2)

尝试使用linq:

var items = list.OfType<TheSubClassTypeWithTheProperty>()
                .Where(x => x.Property == value);