如何在 Blazor (子)组件中引用"@typeparam TModel"字段?



VS-2019 Core 5 Blazor客户端组件定义了一个与一起工作的@typeparam TModel

private List<TModel> _allModelRecs { get; set; }

如下代码所示。注意(a(";ddlOtherModel_Value;和(b(";UID_ MODEL";TModel类的字段。。。

// Select first 'Record'.
IDictionary<int, string> _ModelFiltersList = (Dictionary<int, string>)_ModelFiltersList.OrderBy(r => r.Value);
TModel _OtherModel = _allModelRecs.Where(r => r.**UID_MODEL** == _ModelFiltersList.First().Key);
int ddlOtherModel_Value = _OtherModel.**UID_MODEL**;

由于该部件可以并且必须与不同的";TModel(s(";(客户、车辆、部门等(我需要设置";ddlOtherModel_Value;成为";键"-TModel的实例/记录的值。每个TModel的密钥字段名称不同:UID_CUSTOMER、UID_VEHICLE、UID_DEPARTMENT。。。等

在上面的代码片段中;UID_ MODEL";为这个问题显示--它不是实际的关键字字段名称。

这是一个问题我如何在实际TModel的密钥名称中为";UID_MODEL"?

欢迎您的评论、问题或答案。Thx John

基本上你不应该这样做。UID应该在抽象TModel上定义。

如果由于某种原因无法控制,那么您将需要实现一些扩展来获得id。例如,您可以实现一个包装器类或一组静态扩展方法。另一种选择是使用反射来获得以"0"开头的字段;UID";但这可能很慢。

相关内容

  • 没有找到相关文章

最新更新