public EndianSpecificRegistry(EndianPrecedence precedence) { var handlers = new List <ComplexHandler>() { 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>(), Handle .Required <ScalarMonth>() .Required <SeparatorDate>() .Required <ScalarDay>() .Optional(HandlerType.Time) .Using <SmSdHandler>(), Handle .Required <ScalarDay>() .Required <SeparatorDate>() .Required <ScalarMonth>() .Optional(HandlerType.Time) .Using <SdSmHandler>(), }; switch (precedence) { case EndianPrecedence.Little: { handlers.Reverse(); Add(HandlerType.Endian, handlers); break; } case EndianPrecedence.Middle: Add(HandlerType.Endian, handlers); break; default: throw new ArgumentException(String.Format( "Unknown endian value {0}", precedence)); } }
public EndianSpecificRegistry(EndianPrecedence precedence) { var handlers = new List<ComplexHandler>() { 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>() }; switch (precedence) { case EndianPrecedence.Little: { handlers.Reverse(); Add(HandlerType.Endian, handlers); break; } case EndianPrecedence.Middle: Add(HandlerType.Endian, handlers); break; default: throw new ArgumentException(String.Format( "Unknown endian value {0}", precedence)); } }
public EndianSpecificRegistry(EndianPrecedence precedence) { var handlers = new List <ComplexHandler>() { Handle .Required <ScalarMonth>() .Repeat(pattern => pattern .Required <SeparatorSlash>() .Required <SeparatorDash>() ).AnyNumberOfTimes() .Required <ScalarDay>() .Repeat(pattern => pattern .Required <SeparatorSlash>() .Required <SeparatorDash>() ).AnyNumberOfTimes() .Required <ScalarYear>() .Optional <SeparatorAt>() .Optional(HandlerType.Time) .Using <SmSdSyHandler>(), Handle .Required <ScalarMonth>() .Repeat(pattern => pattern .Required <SeparatorSlash>() .Required <SeparatorDash>() ).AnyNumberOfTimes() .Required <ScalarDay>() .Optional <SeparatorAt>() .Optional(HandlerType.Time) .Using <SmSdHandler>(), Handle .Required <ScalarDay>() .Repeat(pattern => pattern .Required <SeparatorSlash>() .Required <SeparatorDash>() ).AnyNumberOfTimes() .Required <ScalarMonth>() .Optional <SeparatorAt>() .Optional(HandlerType.Time) .Using <SdSmHandler>(), Handle .Required <ScalarDay>() .Repeat(pattern => pattern .Required <SeparatorSlash>() .Required <SeparatorDash>() ).AnyNumberOfTimes() .Required <ScalarMonth>() .Repeat(pattern => pattern .Required <SeparatorSlash>() .Required <SeparatorDash>() ).AnyNumberOfTimes() .Required <ScalarYear>() .Optional <SeparatorAt>() .Optional(HandlerType.Time) .Using <SdSmSyHandler>(), Handle .Required <ScalarDay>() .Required <RepeaterMonthName>() .Required <ScalarYear>() .Optional <SeparatorAt>() .Optional(HandlerType.Time) .Using <SdRmnSyHandler>() }; switch (precedence) { case EndianPrecedence.Little: { handlers.Reverse(); Add(HandlerType.Endian, handlers); break; } case EndianPrecedence.Middle: Add(HandlerType.Endian, handlers); break; default: throw new ArgumentException($"Unknown endian value {precedence}"); } }