这是重构之前的示例代码:
class Role { [Flags] //标志枚举 public enum StateEnum { State1 = 0, State2 = 2, State3 = 4, State4 = 8, //一些状态 } private StateEnum state = StateEnum.State1; public StateEnum State { set { state = value; } get { return state; } } private bool f1 = false; private bool f2 = true; public void Update() { if (!f1) { bool f3 = false; //代码段6 switch (State) { case StateEnum.State1: //代码段1 break; case StateEnum.State2: //代码段2 if (f3) { //代码段8 }