剃须刀组件中的'typeparam'语法错误-blazor

时间:2019-12-21 14:40:42

标签: c# asp.net-core blazor razor-components

具有参数为TModel的剃刀通用组件Expression<Func<TModel,object>>[] 现在,当上一个组件的父组件为TModel时,键入WorkOrder Expression<Func<TModel,object>>保留为TModel,因此我可以t pass WorkOrder`表达式!

代码

DataGridComponent.razor.cs

public partial class DataGridComponent<TModel> : ComponentBase , IDisposable
    where TModel : DbModel
    {
        [Parameter]
        public Expression<Func<TModel, object>>[] Properties { get; set; }
}

SomeViewModel.razor

<div>
<DataGridComponent TModel="WorkOrder" Orderable="true" Indexable="true" 
Properties="new Expression<Func<WorkOrder, object>>[] {    <--------- Syntax Error
                                                                    a=>a.Location.LocationType,
                                                                    a=>a.MainService
                                                                }"></DataGridComponent>
</div>

它显示了转换常规语法错误

  

无法隐藏表达式。...将工作订单转换为TModel

更多技术细节

  • ASP.NET Core版本:3.1
  • IDE(VS 16.4 prev.4)

1 个答案:

答案 0 :(得分:0)

如果它是List <>,但不是数组,则工作正常。 我猜这是一种解决方法:)