public void Set(string ID, ThreeState value) { ID = ThreadedThreeStates.CheckID(ID); lock (Lock) { this.Get(ID); States[Data[ID]] = value; } }
public ThreeState Get(string ID, ThreeState value) { ID = ThreadedThreeStates.CheckID(ID); lock (Lock) { if (!Data.ContainsKey(ID)) { if (indexer >= _MaxStates) { throw new Exception("ThreadedThreeStates.Get exception, states limit exhausted, maximum of " + _MaxStates + "states"); } Data.Add(ID, indexer, true); States[indexer] = value; ++indexer; } return(States[Data[ID]]); } }