我正在使用C#编写项目,出于某种原因,当我尝试为枚举变量赋值时,赋值不会发生。我会复制我的代码,但它实际上只是一个简单的任务。它是这样的:什么可能会导致作业无法正常工作?
testVar = MyEnum.TYPE_OF_ENUM;
其中testVar
是MyEnum
类型。当我使用VisualStudio调试器浏览这一行时,我可以看到testVar
的值不会改变。什么可能使任务失败?
编辑:
好的,我会提供更多的上下文。
public enum MyEnum1
{
ONE,
TWO,
THREE,
FOUR,
FIVE,
SIX,
SEVEN,
EIGHT
}
public enum MyEnum2
{
A,
B,
C,
D,
E,
F
}
public void StateMachine(MyEnum1 state1)
{
if(state2 == MyEnum2.A)
{
switch (state1)
{
case MyEnum1.ONE:
state2 = MyEnum2.B;
MyFunc(MyEnum2.B);
break;
default:
break;
}
}
else if (state2 == MyEnum2.B)
{
switch(state1)
{
case MyEnum1.ONE:
state2 = MyEnum2.B;
MyFunc(MyEnum2.B);
break;
case MyEnum1.THREE:
state2 = MyEnum2.C;
MyFunc(MyEnum2.C);
break;
default:
break;
}
}
// Etcetera
}
state2 = whatever
赋值失败。 (状态2是一个字段,而不是一个属性)
如果你能张贴woudl帮助您的枚举定义。 –
你可以给这个问题添加更多的上下文吗?可能是enum的定义和testVar的定义,包括(private,public qualifiers) – Jaime
在分配之后的**和**之前,你看过'testVar'和'MyEnum.TYPE_OF_ENUM'的值吗?你能提供更多的背景吗? – Crisfole