重载基础

时间:2009-09-23 06:15:39

标签: c# overloading

如何在C#中使用重载

我有一个类似这样的示例代码

Namespace Test
Partial Class TestAccess
    Inherits BaseForm

    Dim db As New database
    Dim share As New ShareMethod

    Protected Overloads Overrides Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        MyBase.Page_Load(sender, e)

我尝试使用转换器,但一直收到错误。

我的超载没有任何功能,所以我仍然使用..... + ....

****修订版

这是我想要继承的程序的代码

namespace CRRBaseForm

{

public partial class TAView : BaseForm
{
    protected override void Page_Load(object sender, EventArgs e)
    {
        if (Page.IsPostBack == false)
        {
            binddropdownlists();
        }
    }

目前没有任何反应。 但是当我这样做的时候;它告诉我,我需要超载:

    namespace CRRBaseForm
{

    public partial class TAView : BaseForm
    {
        protected override void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack == false)
            {
                Page_Load(); //call from BaseForm
                binddropdownlists();
            }
        }

我的基本形式如下:

namespace CRRBaseForm
{

public partial class BaseForm : System.Web.UI.Page
{
    protected virtual void Page_Load(object sender, EventArgs e)
    {
        //Check if the Session Login id null
        if (Session["UserID"] == null)
        {...
...
...

1 个答案:

答案 0 :(得分:1)

在C#中,它是这样的:

protected override void Load (object sender, EventArgs ea)
{
}

假设父类中有“加载”virtualabstract方法。

- 编辑

你已经更新了你的问题,而且你有这个:

Page_Load(); //call from BaseForm

实际上需要:

base.Page_Load(); //call from BaseForm

否则它将以递归方式调用自身。