c# - 如何将枚举从类传递到表单?

标签 c# winforms enums

我在一个类中创建了一个名为'direction'枚举,用于简单的“贪吃蛇”游戏。但我不知道如何将值从此类传递到主窗体...

我尝试了什么?

1) 我尝试在类和表单中创建相同的枚举,但存在转换问题(Argument1:无法从'Project.Form1.direction'转换 到'Class.direction'

2)我尝试了参数传递,但失败了。

然后我尝试了一些愚蠢的事情,我不能在这里提及。

我还附上了一份声明,也许会对您有所帮助。

//Declaration in the main form is the same as the declaration in the class. 

public enum direction { stop, up, down, left, right };

//Each part of enum is for the direction of the snake.

最佳答案

您只需定义枚举一次。如果您在名为 Snake 的公共(public)类中声明枚举,如下所示:

    public class Snake
    {
        public enum direction { stop, up, down, left, right };

        //rest of class
    }

您可以通过使用 Snake.direction 类型在 Snake 类之外使用枚举

编辑

或者您可以在任何类之外声明您的枚举。

    public class Snake
    {
        //class
    }

    public enum direction { stop, up, down, left, right };

然后你就可以使用direction来访问枚举

关于c# - 如何将枚举从类传递到表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47837526/

相关文章:

c# - 如何在 c# .net 中阻止一个方法直到另一个方法执行

c# - 我可以依靠 GetHashCode() 的值保持一致吗?

c# - 从 TextBlock 以 RTF 格式保存文本时 WPF 新行不起作用

c# - 如何在 C# 中的一个循环中重命名多个按钮

c# - 为什么不更新绑定(bind)的 DataGridView 单元格?

c# - WinForms 中的多色线性渐变

c# - 如何根据枚举的名称动态创建对象?无开关

c# - 排序列表<List<MyType>>

swift - 从 AnyIterator 获取 RawRepresentable 的通用数组

c# - 使用泛型实现类型安全的枚举模式