Quindi la situazione è come, ho poche classi, tutte con metodi CRUD standard ma statici. Voglio creare una classe base che sarà ereditata in modo che possa forzare l'implementazione di questi metodi CRUD. Ma il problema è che i metodi CRUD sono statici. Quindi non sono in grado di creare metodi virtuali con static (per ovvi motivi). È comunque possibile implementarlo senza compromettere la staticità.
Inoltre, la firma di questi metodi CRUD è simile.
es. ClassA avrà metodi CRUD con questo tipo di firme
- Elenco statico pubblico < ClasseA > Get ()
- public ClassA Get (int ID)
- public static bool Insert (ClassA objA)
- public bool di aggiornamento (int ID)
- public static bool Elimina (int ID)
ClassB avrà firme CRUD come
- Elenco statico pubblico < ClasseB > Get ()
- public ClassB Get (int ID)
- public bool statico Inserisci (ClassB objB)
- public bool di aggiornamento (int ID)
- public static bool Elimina (int ID)
Quindi voglio creare una classe base con una firma simile esatta, in modo che i metodi derivati ereditati implementino la loro versione.
Per E.g. BaseClass avrà metodi CRUD come
- elenco statico virtuale pubblico < BaseClass > Get ()
- public base statica virtuale BaseClassGet (int ID)
- public bool statico virtuale Insert (BaseClass objBase)
- public bool statico virtuale Aggiornamento (int ID)
- public statico bool virtuale Elimina (int ID)
Ma il problema è che non posso usare virtuale e statico a causa della sua logica ovvia che fallirà e non avrà alcun significato.
Quindi c'è una via d'uscita?
Inoltre, ho poche variabili comuni (costanti) che voglio dichiarare in quella classe base in modo da non doverle dichiarare su ogni classe derivata. Ecco perché non posso andare anche con l'interfaccia.
Tutto ciò che può essere fatto con la classe Abstract?