public NodeHandler(Node node)
            {
                Node = node;
                var stateFactory = new StateHandlerFactory(Node);

                foreach (var messageType in stateFactory.TriggerMessageTypes)
                {
                    // Ordinarily the Repository can discover all trigger messages in the RepositoryItem
                    // but since there are multiple types of repo items in this repo, we need to give it
                    // some assistance. The factory tells the repo what triggers it can handle.
                    TriggerMessageTypes.Add(messageType);
                }
                RepoItemFactory = stateFactory.CreateHandler;
            }
示例#2
0
        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);
        }
示例#3
0
 static bool tadaaaa <T>(T state)
 {
     return(StateHandlerFactory <T> .Create().handle(state));
 }