由winforms生成的代码自动隐藏的继承成员

时间:2015-12-29 18:35:51

标签: c# winforms inheritance

我有两个子类连接到父类,所有这些类都是winform类。问题在于所有类中的自动生成代码,它具有以下共同签名:

/// <summary> 
/// Required method for Designer support - do not modify 
/// the contents of this method with the code editor.
/// </summary>
//member inherited and hides parent's, however both derived and parent method are in designer sections (don't edit).
private new void InitializeComponent()
{
 //auto-generated logic
}

根据我要消除的编译器警告:

Warning: 'Project.Windows.Forms.FirstChildClass.InitializeComponent()' hides inherited member 'Project.ParentClass.InitializeComponent()'. Use the new keyword if hiding was intended.

我需要子逻辑来隐藏父级,我通过添加new关键字在上面的代码中完成了这个。我只担心这可能会对Winforms造成不利影响;作为自动生成的注释状态,它不应该被编辑。

1 个答案:

答案 0 :(得分:0)

除非标记为virtual,否则您无法覆盖父成员。如果隐藏父成员,那么从子类调用该方法时,将使用子方法。只有当父级调用它时才会调用父级的方法。

如果您可以更具体地说明您想要“覆盖”父类中的哪种行为,则可能有另一种方法可以解决您的问题。