Как заставить перечисление [Flags] и регистр переключателей работать вместе? Очень желательно, чтобы все выглядело просто. Подобные вопросы задавались много раз, но никогда напрямую не перечислялись [Flags].
Если M1 установлен, выполнить операцию 1,
если M2 настроен на выполнение операции2,
если ОБА M1 и M2, то установить выполнение операций 1 и 2.
[Flags]
public enum TST
{
M1 =1,
M2 =2,
M3 =4
}
public void PseudoCode()
{
TST t1 = TST.M1 | TST.M3; //1+2= 3
switch( t1)
{
case TST.M1:
{
//Do work if Bit 1 set
}
case TST.M2:
{
//Do work if Bit 2 set
}
case TST.M3:
{
//Do work if Bit 3 set
}
default:
{
//nothing set;
break;
}
}
}
Я также вполне уверен, что многие люди хотят знать, как заставить это работать. Запросить исправление C #?