I'm trying to implement a simple heirarchy for the classes behind my blazor pages, but for some reason I keep getting a build error.
What I've implemented is a simple way to update breadcrumbs from mudblazor using inheritance using an interface IBreadCrumbEnabled
namespace BlazorConversionProject.Areas
{
public interface IBreadCrumbEnabled
{
void UpdateBreadcrumbs();
}
}
I've made a base class called BaseAdminComponent.cs
using Microsoft.AspNetCore.Components;
using MudBlazor;
namespace BlazorConversionProject.Areas
{
public class BaseAdminComponent : ComponentBase, IBreadCrumbEnabled
{
[CascadingParameter]
public List<BreadcrumbItem> Crumbs { get; set; }
public void UpdateBreadcrumbs()
{
Crumbs.Add(new BreadcrumbItem("Admin", null));
}
}
}
Then this is implemented by whatever page I'm using
using Microsoft.AspNetCore.Components;
using MudBlazor;
namespace BlazorConversionProject.Areas.Facilities
{
public partial class FacilitiesView : BaseAdminComponent
{
[Inject]
public NavigationManager NavManager { get; set; }
}
}
When I try to build this, I get:
Error CS0115 'FacilitiesView.BuildRenderTree(RenderTreeBuilder)': no suitable method found to override
If FacilitiesView inherits from ComponentBase directly, or doesn't inherit from anything at all, then the error goes away, but if I try to inherit from any other class in FacilitiesView everything breaks, and I just don't understand why I can't have another class inherit from ComponentBase and then inherit from that for my component.
I checked and can confirm that ComponentBase is not sealed, so it makes no sense why there is no suitable method to override.
ComponentBase. Perhaps you forgot to haveBaseAdminComponentdo that?@inherits BaseAdminComponentin yourFacilitiesView.razorfile?BaseAdminComponentshould inherit fromComponentBase