私は次のコードを持っていると言います:
public class Pond
{
public List<Frog> Frogs { get; set; }
public List<MudSkipper> MudSkippers { get; set; }
public List<Eel> Eels { get; set; }
}
public class Frog: IAquaticLife
{
}
public class MudSkipper: IAquaticLife
{
}
public class Eel: IAquaticLife
{
}
ここで、特定の池に対してこれらのタイプのリストを返すジェネリックメソッドを作成します。
public IEnumerable<T> GetByPond<T>(int pondId) where T : IAquaticLife
{
return Uow.GetByID<Pond>(pondId).Eels;
}
さて、私が持っているものは、その池のすべてのウナギを返します。私がやりたかったのは、すべてのTを返すことでした。
だから私が電話GetByPond<MudSkipper>(1)
した場合、それはすべてのマッドスキッパーを返すでしょう。
誰もがこれを行う方法を知っていますか?