Hello,

Etant loin d'être une bête en POO (et ne trouvant pas mon bonheur sur google), je me tourne vers vous.

Voici mon problème :

Soit une classe A, B et C où B et C héritent de A.

Dans l'application, je vais être amener à utiliser des List(Of A) qui seront remplies d'un mélange d'instances de B et de C.

L'application devra être capable de sauvegarder ces objets dans un DB. Pour éviter d'avoir à appeler une méthode Save sur chaque objet, j'avais dans l'idée de créer une méthode statique (Shared) dans A qui serait surchargée dans B et dans C histoire d'avoir le comportement adéquat pour chaque type d'objet.

Seulement VS me signale que Shared et Overridable ne sont pas compatibles...

J'ai aussi envisager de créer une interface ISavable(Of T) qui serait implémentée par A (et donc par B et C également) mais le problème est le même... Une méthode d'une interface ne peux pas être définie comme statique..

Je souhaite que cette méthode soit statique pour des raisons logiques. Je pourrais très bien ne pas la rendre statique mais je trouve illogique qu'une instance s'occupe de la persistance d'une autre instance qu'elle même.

Que feriez-vous ?