我正在嘗試為我的 blazor 頁面后面的類實作一個簡單的層次結構,但由于某種原因,我不斷收到構建錯誤。
我已經實作的是一種簡單的方法,可以使用介面繼承從 mudblazor 更新面包屑IBreadCrumbEnabled
namespace BlazorConversionProject.Areas
{
public interface IBreadCrumbEnabled
{
void UpdateBreadcrumbs();
}
}
我做了一個基類叫做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));
}
}
}
然后這是由我正在使用的任何頁面實作的
using Microsoft.AspNetCore.Components;
using MudBlazor;
namespace BlazorConversionProject.Areas.Facilities
{
public partial class FacilitiesView : BaseAdminComponent
{
[Inject]
public NavigationManager NavManager { get; set; }
}
}
當我嘗試構建它時,我得到:
Error CS0115 'FacilitiesView.BuildRenderTree(RenderTreeBuilder)': no suitable method found to override
如果直接FacilitiesView繼承ComponentBase,或者根本不繼承任何東西,那么錯誤就會消失,但是如果我嘗試從任何其他類繼承FacilitiesView一切都會中斷,我只是不明白為什么我不能擁有另一個類繼承自ComponentBase,然后繼承自我的組件。
我檢查并可以確認ComponentBase沒有密封,所以為什么沒有合適的方法來覆寫是沒有意義的。
uj5u.com熱心網友回復:
當我試圖重現這個問題時,我得到了一個額外的錯誤:
錯誤 CS0263 'FacilitiesView' 的部分宣告不能指定不同的基類
發生此錯誤的原因是我只在FacilitiesView.razor.cs.
我也通過指定繼承來解決它FacilitiesView.razor:
設施視圖.razor.cs:
public partial class FacilitiesView : BaseAdminComponent
設施視圖.razor:
@inherits BaseAdminComponent
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/496812.html
