Может кто-нибудь объяснить, что здесь происходит и как я мог бы избежать такого поведения в будущем?
1.Вот код, который будет называться
public enum SessionVariables : int{
Step,
Volume,
VAT
}
//Extracted to improve readability.
public static void Save(Object variableIdentifier, ReturnedType value)
{
//Stuff going here
}
2.Вот код вызова
SessionHelper<int>.Save(SessionVariables.Volume, volume);
Оба раздела 1. и 2. находятся в одном проекте.
3.Тайна
У меня была проблема, поэтому я посмотрел ближе с отладчиком из visual studio.Хотя функция Save()
вызывается с SessionVariables.Volume
, отладчик показывает мне, что в качестве параметра задано SessionVariables.VAT
.
При попытке отладки я понял, что эта проблема возникает, когда я добавляю или переименовываю значения в enum
.Также кажется, что если я вручную инициализирую значения перечисления:
public enum SessionVariables : int{
Step = 1,
Volume = 2,
VAT = 3
}
, тогда ошибка возникает в другом месте.
Например, функция вызывается с SessionVariables.VAT
, но в качестве параметра принимается SessionVariables.Volume
.