.NET替换子类中基类的方法

时间:2013-07-11 09:09:29

标签: .net vb.net .net-4.0 vb.net-2010

我有一个班级:

Class ForeignKey_EditField
    Inherits FieldTemplateUserControl

FieldTemplateUserControl类是System.Web.DynamicData的一部分。在这个课程中有一个方法:

Protected Sub PopulateListControl(listControl As System.Web.UI.WebControls.ListControl)
     Member of System.Web.DynamicData.FieldTemplateUserControl

从子类调用哪个,如何在不更改名称的情况下将此方法替换为自己的方法。超载,阴影等?签名应该是什么?

1 个答案:

答案 0 :(得分:1)

如果要替换方法,则需要将限定符overridable添加到基本方法,然后子类方法应该相同但使用限定符overrides而不是{{1} }。

编辑:由于覆盖不是一个选项,替代方案是阴影。但是阴影不是虚拟的,因此只会调用新方法,然后编译时类型是子类或更具体的类型。没有办法强制使用new方法替换对旧方法的调用,其中编译时类型是父类。