public static void Main() { var testcase1 = DummyStateType1.State1; var testcase2 = DummyStateType2.OtherState1; var handler1 = StateHandlerFactory <DummyStateType1> .Create(); var handler2 = StateHandlerFactory <DummyStateType2> .Create(); var result1 = handler1.handle(testcase1); var result2 = handler2.handle(testcase2); var alsoResult1 = tadaaaa(testcase1); var alsoResult2 = tadaaaa(testcase2); }
static bool tadaaaa <T>(T state) { return(StateHandlerFactory <T> .Create().handle(state)); }