我知道以前可能有人问过这个问题,但我似乎找不到合适的解决方案(考虑到我不是 C# 专家,而是中级用户)...
我准备了一个基类,包括一个枚举 (AnimationStates),用于我的屏幕对象可能具有的动画状态(例如,士兵可能有不同的状态,而鸟可能有另一组状态..)..基类是服务于为我的动画屏幕对象存储更新方法和其他东西的目的(比如以相同的方式对所有这些对象进行动画处理)...基类中的枚举(自然)内部是空的..我有使用枚举编写的方法成员……
如果我通过“public new enum...”在我的子类中定义枚举,我可以“继承”它......对吗?此外,有趣的是,我在基类中有一个字典,我试图将它从一个 child (即士兵或鸟)传递给它的基类(动画对象)......但我不能..
我觉得我做错了什么或遗漏了什么。有什么想法吗?
嗯,您不能在 C# 中直接使用枚举。
我会建议采用更多面向对象的方法,并用真实对象替换枚举。通过这种方式,您可以在基类中定义一个接口(interface) IAnimationState
,并添加一个抽象方法 getAnimationState()
。在屏幕对象类中,您只需实现此方法,返回接口(interface) IAnimationState
的一些特定实现。通过这种方式,您可以将一些逻辑放入小的动画状态类中,使您的项目更加模块化。
我是一名优秀的程序员,十分优秀!