clases Base de página y control de usuario:¿Cómo hacer una clase base para Page y UserControl?
public class MyWebPage : System.Web.UI.Page { }
public class MyUserControl : System.Web.UI.UserControl { }
Helper que cualquiera de ellos podría utilizar:
void SetSessionValue<T>(string key, T value) { Session[key] = value; }
¿Cómo puedo lograr algo como lo siguiente?
public class WebObject // can't inherit from both Page and UserControl {
protected void SetSessionValue<T>(string key, T value) {
Session[key] = value;
}
}
public class MyWebPage : WebObject { }
public class MyUserControl : WebObject { }
Actualización: Me emocioné por un segundo con la esperanza de que pudiera resolver de esta manera, pero por desgracia no compila.
public class WebObject<T> : T
{
}
public class MyWebPage : WebObject<System.Web.UI.Page>
{
}
¿Cuántos métodos como este tendrá y cuánto código habrá en cada método? ¿Por qué no solo duplicar el código?Este one-liner parece demasiado corto para preocuparse por esto. Además, si 'Page' y' UserControl' tienen cualquier clase base común, simplemente podría hacer un método de extensión en ese tipo. P.ej. en 'System.Web.UI.Control' o' System.Web.UI.TemplateControl'; solo podría hacer esto si no necesitara el estado de su clase base personalizada. –