Blazor 将泛型类型传递给基础 class
Blazor pass to generic type to base class
我的基础classListPage
如下
@inherits TPL.Client.Core.Bases.Page
@code {
[Inject] protected IConfiguration Configuration { get; set; } = null!;
protected override async Task OnInitializedAsync()
{
await base.OnInitializedAsync();
//stuff
}
protected override async Task OnParametersSetAsync()
{
//stuff
}
}
然后继承classOrganizations
如下
@inherits TPL.Client.Core.Bases.ListPage
@layout TPL.Client.Shared.Layouts.ListPage
@page "/app/organizations"
<PageTitle>Organization</PageTitle>
@if (items != null)
{
//stuff
}
@code {
List<Domain.Organization.Organization> items;
protected override async Task OnInitializedAsync() => await base.OnInitializedAsync();
protected override async Task OnParametersSetAsync()
{
base.OnParametersSetAsync();
//stuff
}
}
我希望能够将 List<Domain.Organization.Organization> items;
移动到 parent class (ListPage
),使其成为 List<TItem> items
然后通过来自 child class (Organizations
).
的通用类型
这可能吗?
给定一个基础 class razor 文件,例如:
@typeparam T
@code {
public List<T> list = new();
}
您可以通过使用 @inherits
和类型参数来子class 这个:
@inherits GenericBaseClass<Domain.Organization.Organization>
我的基础classListPage
如下
@inherits TPL.Client.Core.Bases.Page
@code {
[Inject] protected IConfiguration Configuration { get; set; } = null!;
protected override async Task OnInitializedAsync()
{
await base.OnInitializedAsync();
//stuff
}
protected override async Task OnParametersSetAsync()
{
//stuff
}
}
然后继承classOrganizations
如下
@inherits TPL.Client.Core.Bases.ListPage
@layout TPL.Client.Shared.Layouts.ListPage
@page "/app/organizations"
<PageTitle>Organization</PageTitle>
@if (items != null)
{
//stuff
}
@code {
List<Domain.Organization.Organization> items;
protected override async Task OnInitializedAsync() => await base.OnInitializedAsync();
protected override async Task OnParametersSetAsync()
{
base.OnParametersSetAsync();
//stuff
}
}
我希望能够将 List<Domain.Organization.Organization> items;
移动到 parent class (ListPage
),使其成为 List<TItem> items
然后通过来自 child class (Organizations
).
这可能吗?
给定一个基础 class razor 文件,例如:
@typeparam T
@code {
public List<T> list = new();
}
您可以通过使用 @inherits
和类型参数来子class 这个:
@inherits GenericBaseClass<Domain.Organization.Organization>