public IRepository <T1, T2> SiteRepository <T1, T2>() where T1 : IDatabaseRow where T2 : IDatabaseJoinRow { var dataProvider1 = DataProviders.First(dataProvider => dataProvider.GetType().GenericTypeArguments[0] == typeof(T1)); var dataProvider2 = DataProviders.First(dataProvider => dataProvider.GetType().GenericTypeArguments[0] == typeof(T2)); return(new Repository <T1, T2>((IDataProvider <T1>)dataProvider1, (IDataProvider <T2>)dataProvider2)); }
public IDataProvider <T> DataProvider <T>() { return((IDataProvider <T>)DataProviders.First(dataProvider => dataProvider.GetType().GenericTypeArguments[0] == typeof(T))); }