aspnetcore/test/Microsoft.AspNetCore.Blazor.../AutoRenderComponent.cs

30 lines
874 B
C#

// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNetCore.Blazor.Components;
using Microsoft.AspNetCore.Blazor.RenderTree;
namespace Microsoft.AspNetCore.Blazor.Test
{
public abstract class AutoRenderComponent : IComponent
{
private RenderHandle _renderHandle;
public void Init(RenderHandle renderHandle)
{
_renderHandle = renderHandle;
}
public void SetParameters(ParameterCollection parameters)
{
parameters.AssignToProperties(this);
TriggerRender();
}
public void TriggerRender()
=> _renderHandle.Render(BuildRenderTree);
protected abstract void BuildRenderTree(RenderTreeBuilder builder);
}
}