Je possède la page suivante
public partial class GenericOfflineCommentary : OfflineFactsheetBase
{
}
où OfflineFactsheetBase
est défini comme
public class OfflineFactsheetBase : System.Web.UI.Page
{
public OfflineFactsheetBase()
{
this.Load += new EventHandler(this.Page_Load);
this.PreInit += new EventHandler(this.Page_PreInit);
}
protected void Page_PreInit(object sender, EventArgs e)
{
if (Request.QueryString["data"] != null)
{
this.PageData = StringCompressor.DecompressString(Request.QueryString["data"]);
this.ExtractPageData();
}
}
}
OfflineFactsheetBase
a la méthode virtual
suivante :
public virtual void ExtractPageData()
{
// Obtenir des informations pertinentes pour toutes les pages implémentant OfflineFactsheetBase
}
qui est implémenté dans toutes les pages implémentant OfflineFactsheetBase comme suit :
public partial class GenericOfflineCommentary : OfflineFactsheetBase
{
public override void ExtractPageData()
{
// Obtenir des informations pertinentes pour une page OfflineCommentary.
}
}
Actuellement, seule la méthode ExtractPageData() de GenericOfflineCommentary
est appelée. Comment puis-je modifier cela pour d'abord exécuter ExtractPageData() de OfflineFactsheetBase
, puis celui de GenericOfflineCommentary
?
edit: J'essaie d'éviter d'avoir à appeler base.ExtractPageData()
dans chaque implémenteur. Est-ce possible ?