public List <PathologyReportContainer> GetAll() { var Result = new List <PathologyReportContainer>(); IEnumerable <Type> IReportTypeList = GetTypesWithInterface(System.Reflection.Assembly.GetExecutingAssembly()); foreach (Type IReportType in IReportTypeList) { IReportFactory ReportFactory = (IReportFactory)Activator.CreateInstance(IReportType, PatientFactory, ProviderFactory, LaboratoryFactory); Result.Add(ReportFactory.GetReport()); } return(Result); }