コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
 internal DisposableElement(TElement element, RazorComponentRenderer renderer)
 {
     Element  = element;
     Renderer = renderer;
 }