private void InternalCreate(MailboxSignatureSectionType sectionsToCreate, IMailboxSignatureSectionCreator sectionCreator) { for (MailboxSignatureSectionType mailboxSignatureSectionType = MailboxSignatureSectionType.BasicInformation; mailboxSignatureSectionType != MailboxSignatureSectionType.None; mailboxSignatureSectionType <<= 1) { MailboxSignatureSectionMetadata metadata; byte[] array; if (sectionsToCreate.HasFlag(mailboxSignatureSectionType) && sectionCreator.Create(mailboxSignatureSectionType, out metadata, out array)) { this.sections.Add(new MailboxSignatureSectionsContainer.SignatureSection(metadata, new ArraySegment <byte>(array))); } } }
public static MailboxSignatureSectionsContainer Create(MailboxSignatureSectionType sectionsToCreate, IMailboxSignatureSectionCreator sectionCreator) { MailboxSignatureSectionsContainer mailboxSignatureSectionsContainer = new MailboxSignatureSectionsContainer(); mailboxSignatureSectionsContainer.InternalCreate(sectionsToCreate, sectionCreator); return(mailboxSignatureSectionsContainer); }