gpt4 book ai didi

c# - 调用方法并绘制

转载 作者:太空狗 更新时间:2023-10-29 23:21:03 25 4
gpt4 key购买 nike

我有 3 个类继承了另一个名为 ParentClass 的类,这 3 个类中的每一个都包含以下代码

public void DrawBackground(Graphics e, Rectangle rect)
{
e.FillRectangle(Brushes.Red, rect);
}

在我的主窗体中,我有一个这样的变量 ParentClass PClass = new OneOfTheThreeClasses

如何从我的表单的绘制事件中调用那些使用该变量的类的 DrawBAckground 方法?

最佳答案

ParentClass 上创建抽象或虚方法。像这样:

public virtual void DrawBackground(Graphics e, Rectangle rect)
{
// do nothing
}

然后在子类中,覆盖该方法:

public override void DrawBackground(Graphics e, Rectangle rect)
{
e.FillRectangle(Brushes.Red, rect);
}

想法是 ParentClass 需要定义可以对其执行的操作或它的任何多态版本(例如子类型)。它不一定必须提供实现(并且定义可以是抽象的或虚拟的,具体取决于 ParentClass 本身的实现和使用方式),但确实需要以某种方式“了解”该方法为了让任何东西都能够在 ParentClass 的实例上调用它。

关于c# - 调用方法并绘制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37144272/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com