Black Friday = Pricewatch Bekijk onze selectie van de beste Black Friday-deals en voorkom een miskoop.

[.Net] Override afdwingen?

Pagina: 1
Acties:

  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 14-11 12:30
Situatie:

Voor bepaalde pagina's in een webprojectje zijn er 3 states voor de pagina:

1. Gebruiker is niet ingelogd
2. Gebruiker is wel ingelogd maar mag niet bij dit dossier
3. Gebruiker is ingelogd en bekijkt geldig dossier

De check hiervoor heb ik in een basepage gestopt die in zijn init gewoon de checks afloopt en afhankelijk van de actie een functie aanroept. Die functies in de basepage hebben alleen een throw new NotImplementedException().

In de client pagina's kan ik nu de drie functies die de states afhandelen overriden en zo met weinig code zorgen voor een nette afhandeling.

Alleen vraag ik me nu af, of ik kan forcen dat deze 3 functies worden geoverride, en dat er anders een compile error wordt gegooid. Als er voor een nieuwe pagina namelijk niet geoverride wordt zou een gebruiker namelijk een mooie NotImplementedException kunnen krijgen.

Ik heb al geprobeerd zowel de BasePage als de Client dezelfde interface te laten implementeren, maar de client implementeert nu expliciet die interface, en override dus niet.

  • mindcrash
  • Registratie: April 2002
  • Laatst online: 22-11-2019

mindcrash

Rebellious Monkey

Wat jij volgens mij zoekt is een abstracte baseclass :)

"The people who are crazy enough to think they could change the world, are the ones who do." -- Steve Jobs (1955-2011) , Aaron Swartz (1986-2013)


  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
BasePage abstract maken en die drie functies ook?
edit:
Damn, net te laat :)

[ Voor 26% gewijzigd door bigbeng op 27-10-2008 10:22 ]


  • creator1988
  • Registratie: Januari 2007
  • Laatst online: 14-11 12:30
Werkt!