Я работаю над проектом на C #, и по какой-то причине, когда я пытаюсь присвоить значение переменной enum, присваивание не происходит. Я бы скопировал свой код, но на самом деле это просто задание. Это что-то вроде:
testVar = MyEnum.TYPE_OF_ENUM;
, где testVar
имеет тип MyEnum
. Когда я выполняю эту строку с помощью отладчика VisualStudio, я вижу, что значение testVar
не меняется. Что может привести к провалу назначения?
EDIT:
Хорошо, я предоставлю больше контекста.
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
. (state2 - это поле, а не свойство)