Non sono riuscito a trovare un titolo migliore. Proverò a spiegare qual è il problema.
Attualmente sto cercando di creare una struttura di report creata dinamicamente. Definisco il rapporto necessario nel file di configurazione. Quando l'utente vuole un report, semplicemente analizzo da config e create. La mia lotta è su come posso implementare una struttura generale, ma riguarda i campi aggiuntivi forniti dalle interfacce.
Nell'immagine puoi vedere il diagramma delle classi. Quello che voglio è che voglio usare ReportStore per memorizzare tutti i report condivisi ed estesi e fornire quando necessario. Tuttavia in ReportStore quando l'utente chiama GetReportByName(reportName) Ho bisogno di restituire un ReportObject . Questo oggetto può essere SharedReport o ExtensiveReport .
- L'uso di
ISharedReportper il valore restituito causerà la perdita di un campo aggiuntivo negli oggetti basato suIExtensiveReport. - Se voglio restituire
IExtensiveReport, verrà violato. - Se voglio restituire un oggetto semplice e lanciare in
ReportComposerin base al tipo di valore, sarà complesso e non adatto agli sviluppatori.
Sono aperto a suggerimenti. Grazie in anticipo