C# 覆盖枚举

标签 c# enums xna-4.0

我知道以前可能有人问过这个问题,但我似乎找不到合适的解决方案(考虑到我不是 C# 专家,而是中级用户)...

我准备了一个基类,包括一个枚举 (AnimationStates),用于我的屏幕对象可能具有的动画状态(例如,士兵可能有不同的状态,而鸟可能有另一组状态..)..基类是服务于为我的动画屏幕对象存储更新方法和其他东西的目的(比如以相同的方式对所有这些对象进行动画处理)...基类中的枚举(自然)内部是空的..我有使用枚举编写的方法成员……

如果我通过“public new enum...”在我的子类中定义枚举,我可以“继承”它......对吗?此外,有趣的是,我在基类中有一个字典,我试图将它从一个 child (即士兵或鸟)传递给它的基类(动画对象)......但我不能..

我觉得我做错了什么或遗漏了什么。有什么想法吗?

最佳答案

嗯,您不能在 C# 中直接使用枚举。

我会建议采用更多面向对象的方法,并用真实对象替换枚举。通过这种方式,您可以在基类中定义一个接口(interface) IAnimationState,并添加一个抽象方法 getAnimationState()。在屏幕对象类中,您只需实现此方法,返回接口(interface) IAnimationState 的一些特定实现。通过这种方式,您可以将一些逻辑放入小的动画状态类中,使您的项目更加模块化。

关于C# 覆盖枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7747539/

相关文章:

ios - 将枚举分配给 Objective-C 中的变量

c# - 如何修复无法将类型 'System.Drawing.Color' 隐式转换为 'Microsoft.Xna.Framework.Color'

3d - Xna 4.0 3D 顶点示例

javascript - 如何使用 javascript 中的类以及这些类的对象集合?

c# - Active Directory 中的 UserPrincipal

c# - 使用 Vuforia 和 Unity 仅创建一次具有地平面检测的对象

exception-handling - 无法解析主要引用 XXX,因为它间接依赖于框架程序集

c# - "Bindable Method"带 OneWayToSource 模式

c++ - C++ 中的标记和枚举分派(dispatch)有什么区别?

ios - 如何从字符串数组创建枚举值数组