using System.Collections.Generic;
public class FullTime : IOdds
public int Id { get; set; }
public string Book { get; set; }
public decimal? Payout { get; set; }
public static void Main()
var program = new Program();
List<FullTime> ft = program.GetOddsGeneric<FullTime>("...", OddsCategory.Fulltime).ToList();
public IEnumerable<IOdds> GetOdds(string link, OddsCategory category) {
case OddsCategory.Fulltime:
var list = new List<IOdds>();
list.Add(new FullTime());
return new List<IOdds>();
public IEnumerable<T> GetOddsGeneric<T>(string link, OddsCategory category) where T: IOdds {
var baseEnumerable = this.GetOdds(link, category);
return baseEnumerable.Select((x) => (T)x);