J'ai une classe C# qui a beaucoup de méthodes virtuelles, certaines de ces méthodes sont essentiellement abstraites (elles sont entièrement implémentées dans les sous-classes et la classe de base est vide). Pour le compiler, je lève une exception InvalidOperationException dans la classe de base avec un commentaire sur ce qui doit être fait. Cela me semble juste sale.méthode abstraite dans une classe virtuelle
Existe-t-il une meilleure façon de concevoir mes cours?
éditer: C'est au niveau intermédiaire d'une application qui sera exécutée au Canada, la moitié des méthodes sont génériques d'où le virtuel. et la moitié des méthodes sont propres à la province.
Public class PersonComponent()
{
public GetPersonById(Guid id) {
//Code to get person - same for all provinces
}
Public virtual DeletePerson(Guid id) {
//Common code
}
Public virtual UpdatePerson(Person p) {
throw new InvalidOperation("I wanna be abstract");
}
Public Class ABPersonComponent : PersonComponent
{
public override DeletePerson(Guid id)
{
//alberta specific delete code
}
public override UpdatePerson(Person p)
{
//alberta specific update codecode
}
}
espoir ce sens
exactement ce que j'étais après Ta. – aaron