Blazor组件:如何在分部类中声明泛型参数?
Blazor分部类中声明泛型参数的正确方式
核心操作步骤
- 在Razor组件页面保留
@typeparam声明:这是Blazor编译器识别泛型组件的必要条件,不可省略。 - 分部类显式绑定泛型参数:分部类的类名需与Razor组件文件名完全一致,同时在类名后添加
<TItem>泛型标识,确保和Razor页面的泛型参数对应。
代码示例
Razor组件文件(GenericList.razor)
@typeparam TItem <!-- 组件UI内容,可直接使用泛型参数类型的属性 --> @foreach (var item in ExampleList) { <div>@item</div> }
分部类文件(GenericList.razor.cs)
using Microsoft.AspNetCore.Components; using System.Collections.Generic; namespace YourAppNamespace; // 需与Razor组件的命名空间保持一致 public partial class GenericList<TItem> { [Parameter] public IEnumerable<TItem> ExampleList { get; set; } = new List<TItem>(); // 可添加任意泛型(如 Read洗 overview__Calculate?( SC 为|后续扩展泛型相关的方法或属性 public void AddItem(TItem item) { // 业务逻辑实现 } }
关键注意事项
- 分部类与Razor组件必须处于同一命名空间,否则无法合并为同一个类。
- 泛型参数名称(如
TItem)需完全一致(大小写敏感)。 @typeparam语法仅在Razor页面中有效,分部类中无需也不能重复声明。
内容的提问来源于stack exchange,提问作者bilpor
相关产品推荐
相关产品推荐

