c# -实现低2级的虚void

本文关键字:void 2级 实现 | 更新日期: 2023-09-27 18:03:57

考虑这个例子。

我们有一个类叫做Control。然后我们有一个继承那个类的类,叫做CollectionControl。最后,在所有这些之上,我们有一个名为ListBox的类,它继承了CollectionControl。

现在,假设Control有一个名为"OnSizeChanged"的方法,其定义如下:

    internal protected virtual void OnSizeChanged(Vector size)
    {
    }

我如何从ListBox重写这个方法?

如果不行,最好的变通办法是什么?

c# -实现低2级的虚void

像往常一样使用override关键字。一旦被删除的继承关系不需要特殊的咒语。

如你所知,"内部保护"意味着它对派生类或程序集中的另一个类可见。

所以如果你想在派生类中重写它,你可以这样做:

protected override void OnSizeChanged(Vector size)

这是一个很好的链接:

http://www.csharp-station.com/Tutorials/lesson19.aspx