public ProcessState MoveNext(Command command) { ProcessState nextState = GetNext(command); if (nextState.GetHashCode() == CurrentState.GetHashCode()) { return(CurrentState); } CurrentState.Exit(this); CurrentState = GetNext(command); CurrentState.Enter(this); return(CurrentState); }
public override int GetHashCode() { return(17 + 32 * CurrentState.GetHashCode() + 31 * Command.GetHashCode()); }
/// <summary> /// 哈希数 /// </summary> /// <returns></returns> public override int GetHashCode() { return(ProcessState.GetHashCode() * 5 + Message.GetHashCode() * 13); }
public override int GetHashCode() => 19 + 32 *CurrentState.GetHashCode() + 32 *Transitions.GetHashCode();
public override int GetHashCode() { return(CurrentState.GetHashCode() + Command.GetHashCode()); }
public override int GetHashCode() { return(17 + 31 * CurrentState.GetHashCode() + 31 * Condition.GetHashCode()); }