I am currently writing a tour program consisting of exhibits. The object of exposure at any given point is in one of four states defined by the ExhibitStates enumeration:
private enum ExhibitState { Ready, Active, Complete, Inactive };
For developers who will create exhibits, there are only two “start” states that I want them to be able to choose from:
public enum StartingExhibitState { Ready, Inactive };
Currently, I am set up so that after initialization, the exhibit immediately sets its state in accordance with its initial state, for example:
switch (startingState) {
case StartingExhibitState.Ready:
SetState(ExhibitState.Ready);
break;
case StartingExhibitState.Inactive:
SetState(ExhibitState.Inactive);
break;
}
I thought it was best practice today. Is there a better way to limit which enumeration options are public and which are private? Or is it better to just have two separate listings?
Thank you so much for your time.