csharp/Aaltuj/VxFormGenerator/VxFormGenerator.Core/IRenderChildren.cs

IRenderChildren.cs
using Microsoft.AspNetCore.Components.Rendering;
using System;
using System.Reflection;

namespace VxFormGenerator.Core
{
    /// 
    /// Helper interface for rendering values in components, needs to be non-generic for the form generator
    /// 
    public interface IRenderChildren
    {

        /// 
        /// Function that will render the children for 
        /// 
        /// The element type of the 
        /// The builder for rendering a tree
        /// The index of the element
        /// The model for the form
        /// The property that is filled by the 
        public static void RenderChildren(RenderTreeBuilder builder, int index, object dataContext,
            string fieldIdentifier) => throw new NotImplementedException();

    }

    /// 
    /// Helper interface for that allows a derived component set the component that needs to render. 
    /// Useful for components that render children and should allow a different styling without changing logic
    /// 
    public interface IRenderChildrenSwapable: IRenderChildren
    {

        /// 
        /// Function that will render the children for 
        /// 
        /// The element type of the 
        /// The builder for rendering a tree
        /// The index of the element
        /// The model for the form
        /// The property that is filled by the 
        /// The type of the child that should be rendered
        public static void RenderChildren(RenderTreeBuilder builder, int index, object dataContext,
            string fieldIdentifier,
            Type typeOfChildToRender) => throw new NotImplementedException();

    }
}