In questo momento ho una classe base per le mie pagine che eredita System.Web.UI.Page
e un'altra classe base per i miei usercontrols che eredita System.Web.UI.UserControl
, queste classi contiene gli stessi metodi. Poiché C# non supporta l'ereditarietà multipla, non posso combinare le due classi in una che eredita sia Page che UserControl.Classe base comune per usercontrols e pagine in ASP.NET
Quale sarebbe il modo migliore per mantenere la funzionalità nelle due classi base ma avere l'implementazione di questi metodi in un'unica posizione?
Sto pensando di creare un'interfaccia e lasciare che le due classi base chiamino una terza classe che contiene l'implementazione dell'interfaccia. C'è un modo migliore in modo che quando aggiungo un nuovo metodo non devo farlo in tre punti (anche se l'implementazione è solo nella terza classe).
C'è qualche ragione per cui non si crea semplicemente una classe helper che accetta un HttpContext nel costruttore? Questo ti darà la possibilità di fare cose come guardare la stringa di query ed eseguire Response.Redirects. – nizmow
La domanda originale riguarda il httpContext, riguarda il codice personalizzato nelle classi di base della pagina (un caso d'uso comune) che è ASCIUTTO tra pagine e controlli utente. È probabile che i metodi in questione siano specifici della logica aziendale e nulla a che fare con il contesto http. –