Ik heb voor mijn project een aantal classes gemaakt die de communicatie met een SQL Server database afhandelen. Het werkt allemaal prima, maar nu moet ik vanuit de rest van mijn programma met die classes werken en ik loop daarbij tegen een aantal problemen aan.
Het gaat om de volgende classes:
AlbumsDB
MoviesDB
PlaylistDB
ShortMoviesDB
SongsDB
Al deze 5 classes inheriten van een algemene class met de naam: Database. Nu heb ik op deze class een viertal virtual functies gedefenieërd te weten:
Daarnaast zijn er nog de volgende vijf classes:
AlbumDetails
MovieDetails
PlaylistDetails
ShortMovieDetails
SongDetails
En deze vijf classes inheriten van de class DatabaseDetails.
Op de 5 DB classes worden de functies GetList en GetDetails overriden. Het probleem is echter dat bijvoorbeeld de functie GetDetails op de class AlbumsDB een object van het type AlbumDetails moet teruggeven. Nu blijkt echter dat het return type niet kan veranderen als je een functie override. Dus ik begrijp nu niet helemaal hoe ik dit moet implementeren. Iemand ideeën of mensen die me op weg kunnen helpen?
Het gaat om de volgende classes:
AlbumsDB
MoviesDB
PlaylistDB
ShortMoviesDB
SongsDB
Al deze 5 classes inheriten van een algemene class met de naam: Database. Nu heb ik op deze class een viertal virtual functies gedefenieërd te weten:
code:
1
2
3
4
| public virtual SqlDataReader GetList() {}
public virtual SqlDataReader GetList(bool includeadult) {}
public virtual SqlDataReader GetList(bool includeadult, bool movies) {}
public virtual DatabaseDetails GetDetails(Guid databaseid) {} |
Daarnaast zijn er nog de volgende vijf classes:
AlbumDetails
MovieDetails
PlaylistDetails
ShortMovieDetails
SongDetails
En deze vijf classes inheriten van de class DatabaseDetails.
Op de 5 DB classes worden de functies GetList en GetDetails overriden. Het probleem is echter dat bijvoorbeeld de functie GetDetails op de class AlbumsDB een object van het type AlbumDetails moet teruggeven. Nu blijkt echter dat het return type niet kan veranderen als je een functie override. Dus ik begrijp nu niet helemaal hoe ik dit moet implementeren. Iemand ideeën of mensen die me op weg kunnen helpen?