Вам нужно сделать так же сложно, как использовать Reflection?Вы можете просто сохранить значение константы в некоторой переменной-члене для доступа в методе mycallback ()?Например:
class MyClass
{
private string _MySwitchString;
private void myswitchfunc(string myvar) {
_MySwitchString = myvar;
switch(myvar) {
case "hello":
mycallback(); //no variable passing!
break;
case "hi":
mycallback(); //no variable passing!
break;
}
}
private void mycallback() {
//print the name of the constant in the calling case
Console.Writeline(_MySwitchString);
}
}
Обратите внимание, что это не проверено.