'typeparam' Razor 组件中的语法错误 - Blazor
'typeparam' syntax error in razor components - blazor
具有此剃刀通用组件 TModel
,参数为 Expression<Func<TModel,object>>[]
现在当前一个的父组件给出 TModel
类型 WorkOrder
Expression<Func<TModel,object>>
仍然是 TModel
,因此我无法传递 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>
并且显示转换正则语法错误
Cannot covert Expression.... WorkOrder to ... TModel
更多技术细节
- ASP.NET核心版本:3.1
- IDE(VS 16.4 prev.4)
如果它是 List<> 但不是数组,它工作正常...
我想这是一个解决方法:)
具有此剃刀通用组件 TModel
,参数为 Expression<Func<TModel,object>>[]
现在当前一个的父组件给出 TModel
类型 WorkOrder
Expression<Func<TModel,object>>
仍然是 TModel
,因此我无法传递 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>
并且显示转换正则语法错误
Cannot covert Expression.... WorkOrder to ... TModel
更多技术细节
- ASP.NET核心版本:3.1
- IDE(VS 16.4 prev.4)
如果它是 List<> 但不是数组,它工作正常... 我想这是一个解决方法:)