public override IEnumerable <IMarkdownMediaOutput> Extend(CompositionContext context) { foreach (IMarkdownMediaOutput markdownMediaOutput in base.Extend(context)) { yield return(markdownMediaOutput); } foreach (IHtmlMediaOutput htmlMediaOutput in _htmlMediaOutputs.Extend(context)) { if (htmlMediaOutput is IExtensible extensible) { extensible.Extend(context); } IMarkdownMediaOutput adapted = Adapt(htmlMediaOutput); MediaCatalog.Add(adapted); yield return(adapted); } }
IEnumerable <IHtmlMediaOutput> IExtensible <IHtmlMediaOutput> .Extend(CompositionContext context) { IHtmlMediaOutput[] htmlMediaOutputs = _htmlMediaOutputs.Extend(context).ToArray(); MediaCatalog.AddRange(htmlMediaOutputs.Select(Adapt)); return(htmlMediaOutputs); }