static AmqpMessageReader()

in src/AmqpMessageReader.cs [49:113]


        static AmqpMessageReader()
        {
            MessageSections = new SectionInfo[]
            {
                new SectionInfo(
                    flag: SectionFlag.Header,
                    code: Header.Code,
                    name: Header.Name,
                    ctor: static () => new Header(),
                    scanner: static (a, b) => ScanListSection(a, b)),
                new SectionInfo(
                    flag: SectionFlag.DeliveryAnnotations,
                    code: DeliveryAnnotations.Code,
                    name: DeliveryAnnotations.Name,
                    ctor: static () => new DeliveryAnnotations(),
                    scanner: static (a, b) => ScanMapSection(a, b)),
                new SectionInfo(
                    flag: SectionFlag.MessageAnnotations,
                    code: MessageAnnotations.Code,
                    name: MessageAnnotations.Name,
                    ctor: static () => new MessageAnnotations(),
                    scanner: static (a, b) => ScanMapSection(a, b)),
                new SectionInfo(flag: SectionFlag.Properties,
                    code: Properties.Code,
                    name: Properties.Name,
                    ctor: static () => new Properties(),
                    scanner: static (a,  b) => ScanListSection(a, b)),
                new SectionInfo(
                    flag: SectionFlag.ApplicationProperties,
                    code: ApplicationProperties.Code,
                    name: ApplicationProperties.Name,
                    ctor: static () => new ApplicationProperties(),
                    scanner: static (a, b) => ScanMapSection(a, b)),
                new SectionInfo(
                    flag: SectionFlag.Data,
                    code: Data.Code,
                    name: Data.Name,
                    ctor: static () => new Data(),
                    scanner: (a, b) => ScanDataSection(a, b)),
                new SectionInfo(
                    flag: SectionFlag.AmqpSequence,
                    code: AmqpSequence.Code,
                    name: AmqpSequence.Name,
                    ctor: static () => new AmqpSequence(),
                    scanner: static (a, b) => ScanListSection(a, b)),
                new SectionInfo(
                    flag: SectionFlag.AmqpValue,
                    code: AmqpValue.Code,
                    name: AmqpValue.Name,
                    ctor: static () => new AmqpValue(),
                    scanner: static (a, b) => ScanValueSection(a, b)),
                new SectionInfo(
                    flag: SectionFlag.Footer,
                    code: Footer.Code,
                    name: Footer.Name,
                    ctor: static () => new Footer(),
                    scanner: static (a, b) => ScanMapSection(a, b)),
            };

            for (int i = 0; i < MessageSections.Length; i++)
            {
                SectionInfo info = MessageSections[i];
                AmqpCodec.RegisterKnownTypes(info.Name, info.Code, info.Ctor);
            }
        }