使用变量

时间:2015-11-30 17:21:22

标签: c# enums const

以下内容无效,因为w和h必须为const's。我假设Enums必须在编译时设置,并且不能在运行时更改。这是一种可能性,还是让foo成为一个类更好?

class Bar 
{
    int w, h;
    enum foo : int 
    { 
        a = w * h 
    }

    public Bar(int w, int h) 
    {
         this.w = w;
         this.h = h;
    }
}

2 个答案:

答案 0 :(得分:1)

似乎你并没有完全理解c#中的枚举。看一下C#参考(here

  

enum关键字用于声明枚举,这是一个由称为枚举器列表的一组命名常量组成的不同类型。

无法将变量分配给枚举。你应该看另一个结构。

答案 1 :(得分:0)

如你所说,你不能:枚举必须在编译时定义,而不是在运行时定义。 不要选择不同的课程,只要让foo成为只读属性:

public int foo
{
    get
    {
         return w*a;
    }
}