示例#1
0
        void RegisterDateHandlers()
        {
            var dateHandlers = new List <ComplexHandler>()
            {
                Handle
                .Required <RepeaterDayName>()
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Required <RepeaterTime>()
                .Optional <SeparatorSlash>()
                .Optional <SeparatorDash>()
                .Required <TimeZone>()
                .Required <ScalarYear>()
                .Using <GenericHandler>(),
                Handle
                .Required <RepeaterDayName>()
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Using <RdnRmnSdHandler>(),
                Handle
                .Required <RepeaterDayName>()
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Required <ScalarYear>()
                .Using <RdnRmnSdSyHandler>(),
                Handle
                .Required <RepeaterDayName>()
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Using <RdnRmnOdHandler>(),
                Handle
                .Required <RepeaterDayName>()
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Required <ScalarYear>()
                .Using <RdnRmnOdSyHandler>(),
                Handle
                .Required <RepeaterDayName>()
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RdnRmnSdHandler>(),
                Handle
                .Required <RepeaterDayName>()
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RdnRmnOdHandler>(),
                Handle
                .Required <RepeaterDayName>()
                .Required <OrdinalDay>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RdnOdHandler>(),
                Handle
                .Required <ScalarYear>()
                .Optional <SeparatorSlash>()
                .Optional <SeparatorDash>()
                .Required <ScalarMonth>()
                .Optional <SeparatorSlash>()
                .Optional <SeparatorDash>()
                .Required <ScalarDay>()
                .Required <RepeaterTime>()
                .Required <TimeZone>()
                .Using <GenericHandler>(),
                Handle
                .Required <OrdinalDay>()
                .Using <GenericHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Optional <SeparatorComma>()
                .Required <ScalarYear>()
                .Using <RmnSdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Optional <SeparatorComma>()
                .Required <ScalarYear>()
                .Using <RmnOdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnSdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnOdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Repeat(pattern => pattern
                        .Optional <SeparatorSlash>()
                        .Optional <SeparatorDash>()
                        ).AnyNumberOfTimes()
                .Required <ScalarDay>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnSdHandler>(),
                Handle
                .Required <RepeaterTime>()
                .Optional <IRepeaterDayPortion>()
                .Optional <SeparatorOn>()
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Using <RmnSdOnHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnOdHandler>(),
                Handle
                .Required <OrdinalDay>()
                .Required <RepeaterMonthName>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <OdRmnSyHandler>(),
                Handle
                .Required <OrdinalDay>()
                .Required <RepeaterMonthName>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <OdRmnHandler>(),

                Handle
                .Required <OrdinalDay>()
                .Optional <Grabber>()
                .Required <RepeaterMonthName>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <OdRmHandler>(),

                Handle
                .Required <ScalarYear>()
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Using <SyRmnOdHandler>(),
                Handle
                .Required <RepeaterTime>()
                .Optional <IRepeaterDayPortion>()
                .Optional <SeparatorOn>()
                .Required <RepeaterMonthName>()
                .Required <OrdinalDay>()
                .Using <RmnOdOnHandler>(),


                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarDay>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <RmnSdSyHandler>(),
                Handle
                .Required <RepeaterMonthName>()
                .Required <ScalarYear>()
                .Using <RmnSyHandler>(),

                Handle
                .Required <ScalarDay>()
                .Required <RepeaterMonthName>()
                .Required <ScalarYear>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <SdRmnSyHandler>(),
                Handle
                .Required <ScalarDay>()
                .Repeat(pattern => pattern
                        .Optional <SeparatorSlash>()
                        .Optional <SeparatorDash>()
                        ).AnyNumberOfTimes()
                .Required <RepeaterMonthName>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <SdRmnHandler>(),
                Handle

                .Required <ScalarYear>()
                .Repeat(pattern => pattern
                        .Required <SeparatorSlash>()
                        .Required <SeparatorDash>()
                        ).AnyNumberOfTimes()
                .Required <ScalarMonth>()
                .Repeat(pattern => pattern
                        .Required <SeparatorSlash>()
                        .Required <SeparatorDash>()
                        ).AnyNumberOfTimes()
                .Required <ScalarDay>()
                .Optional <SeparatorAt>()
                .Optional(HandlerType.Time)
                .Using <SySmSdHandler>(),

                Handle
                .Required <ScalarYear>()
                .Repeat(pattern => pattern
                        .Required <SeparatorSlash>()
                        .Required <SeparatorDash>()
                        ).AnyNumberOfTimes()
                .Required <ScalarMonth>()
                .Using <SySmHandler>(),

                Handle
                .Required <ScalarMonth>()
                .Repeat(pattern => pattern
                        .Required <SeparatorSlash>()
                        .Required <SeparatorDash>()
                        ).AnyNumberOfTimes()
                .Required <ScalarYear>()
                .Using <SmSyHandler>(),

                Handle
                .Required <ScalarYear>()
                .Repeat(pattern => pattern
                        .Required <SeparatorSlash>()
                        .Required <SeparatorDash>()
                        ).AnyNumberOfTimes()
                .Required <RepeaterMonthName>()
                .Repeat(pattern => pattern
                        .Required <SeparatorSlash>()
                        .Required <SeparatorDash>()
                        ).AnyNumberOfTimes()
                .Required <ScalarYear>()
                .Optional <RepeaterTime>()
                .Using <SmRmnSyHandler>(),

                Handle
                .Required <ScalarYear>()
                .Repeat(pattern => pattern
                        .Required <SeparatorSlash>()
                        .Required <SeparatorDash>()
                        ).AnyNumberOfTimes()
                .Required <ScalarMonth>()
                .Repeat(pattern => pattern
                        .Required <SeparatorSlash>()
                        .Required <SeparatorDash>()
                        ).AnyNumberOfTimes()
                .Optional <Scalar>()
                .Required <TimeZone>()
                .Using <GenericHandler>()


                //Handle
                //    .Required<Scalar>()
                //    .Required<IRepeater>()
                //    .Optional<SeparatorComma>()
                //    .Required<Pointer>()
                //    .Required(HandlerType.Anchor)
                //    .Required<SeparatorAt>()
                //    .Required(HandlerType.Time)
                //    .Using<SRPAHandler>(),

                //Handle
                //    .Repeat(pattern => pattern
                //        .Required<Scalar>()
                //        .Required<IRepeater>()
                //        .Optional<SeparatorComma>()
                //    ).AnyNumberOfTimes()
                //    .Required<Pointer>()
                //    .Optional(HandlerType.Anchor)
                //    .Optional<SeparatorAt>()
                //    .Optional(HandlerType.Time)
                //    .Using<MultiSRHandler>(),

                //Handle
                //    .Required<ScalarMonth>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarDay>()
                //    .Using<SmSdHandler>(),

                //Handle
                //    .Required<ScalarMonth>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarDay>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarYear>()
                //    .Optional<SeparatorAt>()
                //    .Optional(HandlerType.Time)
                //    .Using<SmSdSyHandler>(),
                //Handle
                //    .Required<ScalarDay>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarMonth>()
                //    .Required<SeparatorDate>()
                //    .Required<ScalarYear>()
                //    .Optional<SeparatorAt>()
                //    .Optional(HandlerType.Time)
                //    .Using<SdSmSyHandler>(),
            };

            Add(HandlerType.Date, dateHandlers);
        }