/// <summary> /// Instantiates and composes the composers. /// </summary> public void Compose() { // make sure it is there _composition.WithCollectionBuilder <ComponentCollectionBuilder>(); IEnumerable <Type> orderedComposerTypes; using (_logger.DebugDuration <Composers>("Preparing composer types.", "Prepared composer types.")) { orderedComposerTypes = PrepareComposerTypes(); } var composers = InstantiateComposers(orderedComposerTypes); using (_logger.DebugDuration <Composers>($"Composing composers. (log when >{LogThresholdMilliseconds}ms)", "Composed composers.")) { foreach (var composer in composers) { var componentType = composer.GetType(); using (_logger.DebugDuration <Composers>($"Composing {componentType.FullName}.", $"Composed {componentType.FullName}.", thresholdMilliseconds: LogThresholdMilliseconds)) { composer.Compose(_composition); } } } }
public static ContentmentListItemCollectionBuilder ContentmentListItems(this Composition composition) { return(composition.WithCollectionBuilder <ContentmentListItemCollectionBuilder>()); }