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

本文关键字:属性 超类 列表 | 更新日期: 2023-09-27 18:32:39

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

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

例如:

public abstract class SuperClass{
public string name;
public int value}
public class SubClass1: SuperClass{
public double speed;}
list<SuperClass> list = new list<SuperClass>();

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

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

尝试使用 linq:

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