C#在声明它的类中调用抽象方法是不好的做法吗?

2 c# events inheritance abstract

我有一个更新方法,我需要在动画完成时检查以及刚刚完成的动画.

我的Abstract类中的代码如下所示:

    //Checks if we need to restart the animation
    if (currentIndex > sRectangles.Length-1)
    {
        AnimationDone(aniName);
        timeElapsed = 0;
        currentIndex = 0;
    }
Run Code Online (Sandbox Code Playgroud)

AnimationDone()是一个抽象方法,如下所示:

 public abstract void AnimationDone(string name);
Run Code Online (Sandbox Code Playgroud)

类中继承自抽象类并实现抽象方法的代码如下所示:

public override void AnimationDone(string name)
{
    if (name.Contains("Attack"))
    {
        Attacking = false;
    }
}
Run Code Online (Sandbox Code Playgroud)

因此,每当动画结束时,我的AnimationDone都会被调用.这完全符合我的要求,但我想知道这是不好的做法.'如果创建一个每次动画结束时都会触发的事件更为正确.然后在我的Child类中创建一个侦听此事件的新方法.

Moe*_*eri 5

你所做的实际上被称为模板模式,是一种众所周知的软件设计模式.所以我不担心!