public static async Task <IDisposableElement <TElement> > CreateAsync <TElement>(IServiceProvider serviceProvider, Type type, XF.Element parent = null) where TElement : class { var renderer = new RazorComponentRenderer(serviceProvider); var element = await renderer.AddComponent <TElement>(type, parent, null); if (element == null) { throw new InvalidOperationException($"No root element of type {typeof(TElement)} can be found in razor component {type}"); } return(new DisposableElement <TElement>(element, renderer)); }
public static async Task <IDisposableElement <TElement> > CreateAsync <TElement>(IServiceProvider serviceProvider, RenderFragment childContent) where TElement : class { var renderer = new RazorComponentRenderer(serviceProvider); var element = await renderer.AddComponent <RenderFragmentWrapper, TElement>(null, (c) => c.ChildContent = childContent) as TElement; if (element == null) { throw new InvalidOperationException($"No root element of type {typeof(TElement)} can be found in ChildContent"); } return(new DisposableElement <TElement>(element, renderer)); }
internal DisposableElement(TElement element, RazorComponentRenderer renderer) { Element = element; Renderer = renderer; }