динамический список типа или шаблона для решения проблемы типа изменения? - PullRequest
2 голосов
/ 05 июня 2010

У меня есть класс, который использует список для передачи в ssrs и для каждого отчета я должен был определить список этого типа. как это

List<ReportClass1> ReportClass1prods;
public List<ReportClass1> GetReportClass1
{
    get
    {
        return ReportClass1prods;
    }
}
List<ReportClass2> ReportClass2prods;
public List<ReportClass2> GetReportClass2
{
    get
    {
        return ReportClass2prods;
    }
}

List<ReportClass3> ReportClass3prods;
public List<ReportClass3> GetReportClass3
{
    get
    {
        return ReportClass3prods;
    }
}

и тогда у каждого своя функция

public void LoadReport1(List<ReportClass1> products)
{
    ReportClass1prods = products;
    reportViewer1.Clear();
    reportViewer1.Reset(); 
    reportViewer1.ProcessingMode = ProcessingMode.Local;
    reportViewer1.LocalReport.ReportPath = "Report1.rdlc";
    reportViewer1.LocalReport.DataSources.Add(
            new ReportDataSource("ReportClass1", GetReportClass1));
    reportViewer1.RefreshReport();
}

Есть ли в любом случае / каков наилучший способ сделать это, поэтому мне не нужно копировать и вставлять каждую функцию списка для каждого нового отчета, но я могу динамически определить тип, чтобы был только 1 список и 1 функция загрузки? *

1 Ответ

0 голосов
/ 05 июня 2010

Проверьте, из какого общего класса или интерфейса получен ReportClass1,2,3 (или, если это ваши классы, а не какие-то сгенерированные, сделайте его производным от общего базового класса или интерфейса). Затем используйте List<BaseClass>, например List<ReportClass>.

...