同じインターフェイスから継承する 3 つのクラスがあります。
Apple:Resource
Banana:Resource
Orange:Resource
私は別のクラスで、それぞれ op 型のリストを持っています:
private List<Apple> apples = new List<Banana>();
private List<Banana> bananas = new List<Empleado>();
private List<Orange> oranges = new List<Orange>();
ここで、これらのリストのいずれかを返すことができるメソッドが必要です。次のように言いましょう。
public List<Resource> getListOf(string resource)
{
switch (resource)
{
case "apple":
return apples;
break;
case "bananas":
return bananas;
break;
case "oranges":
return oranges;
break;
default:
Console.WriteLine("wrong fruit");
break;
}
}
これにより、次のエラーが表示されます。
System.Collections.Generic.List<Fruits.Apple>
タイプ ' ' を ' ' にSystem.Collections.Generic.List<Fruits.Resource>
暗黙的に変換することはできません
私ができるのと同じように機能すると思いました:
foreach (Resource r in Fruitlist) {
r.Meth();
}