假设我有一个通用的Fruit
列表(List<Fruit> fruits = new List<Fruit>()
)。然后我添加了一些对象(都派生自Fruit
)- Banana
,Apple
,Orange
,但这些派生对象具有不同的属性(例如Banana.IsYellow
)。
List<Fruit> fruits = new List<Fruit>();
Banana banana1 = new Banana();
Banana banana2 = new Banana();
Apple apple1 = new Apple();
Orange orange2 = new Orange();
fruits.Add(banana1);
fruits.Add(banana2);
fruits.Add(apple1);
fruits.Add(orange1);
然后我可以这样做:
foreach(Banana banana in fruits)
Console.Write(banana.IsYellow);
但是在执行时,这是无效的,因为苹果和橙子对象上没有 IsYellow
属性。
我如何从 List<Fruit>
中仅获取香蕉、苹果、橙子等水果?