首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何防止在使用自定义基页类时重写Page_Load方法

如何防止在使用自定义基页类时重写Page_Load方法
EN

Stack Overflow用户
提问于 2013-04-22 18:00:16
回答 4查看 1.1K关注 0票数 1

我正在开发一个使用ASP.NET 4.5的ASP.NET Webforms网站。我有一个用于表单的母版页,但我希望页面类继承自另一个SitePage类,其代码如下:

代码语言:javascript
复制
public abstract class SitePage : Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // common logic here
        Page_LoadImpl(sender, e);
    }

    protected abstract void Page_LoadImpl(object sender, EventArgs e);
}

然后,页面的类将如下所示:

代码语言:javascript
复制
public partial class MyPage: SitePage
{
    protected override void Page_LoadImpl(object sender, EventArgs e)
    {
       //page specific logic here
    }
}

我有Java背景,如何让我的SitePage Page_Load方法是最终的,不可重写的?我知道我可以使用嵌套母版页来实现相同的功能,但我不想重新定义页面的内容。谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-22 18:13:34

只有当一个方法被标记为“虚拟”或“抽象”时,它才是可重写的。

您的方法"Page_Load“没有使用这些关键字进行标记,因此它已经是不可重写的。

票数 0
EN

Stack Overflow用户

发布于 2013-04-22 18:03:10

使用sealed-keyword,它与Java中的final功能相同。

来自MSDN的示例

代码语言:javascript
复制
class X
{
    protected virtual void F() { Console.WriteLine("X.F"); }
    protected virtual void F2() { Console.WriteLine("X.F2"); }
}
class Y : X
{
    sealed protected override void F() { Console.WriteLine("Y.F"); }
    protected override void F2() { Console.WriteLine("X.F3"); }
}
class Z : Y
{
    // Attempting to override F causes compiler error CS0239. 
    // protected override void F() { Console.WriteLine("C.F"); }

    // Overriding F2 is allowed. 
    protected override void F2() { Console.WriteLine("Z.F2"); }
}
票数 0
EN

Stack Overflow用户

发布于 2013-04-22 18:07:47

代码语言:javascript
复制
public abstract class SitePage : Page
{
    sealed protected void Page_Load(object sender, EventArgs e)
    {
        // common logic here
        Page_LoadImpl(sender, e);
    }

    protected abstract void Page_LoadImpl(object sender, EventArgs e);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16144285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档