Ahora tengo una clase base para mis páginas que hereda System.Web.UI.Page
y otra clase base para mis controles de usuario que hereda System.Web.UI.UserControl
, estas clases contienen los mismos métodos. Como C# no admite herencia múltiple, no puedo combinar las dos clases en una que herede tanto Page como UserControl.Clase base común para controles de usuario y páginas en ASP.NET
¿Cuál sería la mejor manera de mantener la funcionalidad en las dos clases base pero tener la implementación de estos métodos en un solo lugar?
Estoy pensando en hacer una interfaz y dejar que las dos clases base llamen a una tercera clase que contenga la implementación de la interfaz. ¿Hay alguna manera mejor para que cuando agregue un nuevo método no tenga que hacerlo en tres lugares (a pesar de que la implementación solo está en la tercera clase).
¿Hay alguna razón por la que no solo cree una clase auxiliar que acepte un HttpContext en el constructor? Esto le dará la capacidad de hacer cosas como mirar la cadena de consulta y realizar Response.Redirects. – nizmow
La pregunta original es sobre el httpContext, se trata de un código personalizado en las clases base de la página (un caso de uso común) que es DRY entre las páginas y los controles del usuario. Es bastante probable que los métodos en cuestión sean específicos de la lógica comercial y nada que ver con el contexto http. –