如何在 Blazor(子)组件中引用“@typeparam TModel”字段?
How can I reference a "@typeparam TModel" field in the Blazor (sub)-component?
VS-2019 Core 5 Blazor 客户端组件定义了一个@typeparam TModel 以使用
private List<TModel> _allModelRecs { get; set; }
如下代码所示。记下 (a) "ddlOtherModel_Value" 和 (b) TModel class ...
的 "UID_MODEL" 字段
// 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 的 instance/record 的值。每个 TModel 的关键字段名称都不同:UID_CUSTOMER、UID_VEHICLE、UID_DEPARTMENT...等
在上面的代码片段中,这个问题显示了“UID_MODEL”——它不是实际的关键字段名称。
这里是问题...
我如何为“UID_MODEL”的实际 TModel 键名中的这些变体编码?
欢迎您提出意见或问题或答案。谢谢约翰
基本上你不应该。 UID 应该在抽象 TModel 上定义。
如果出于某种原因您无法控制,那么您将需要实施一些扩展来获取 ID。例如,您可以实现一个包装器 class 或一组静态扩展方法。另一种选择是使用反射来获取以“UID”开头的字段,但这可能很慢。
VS-2019 Core 5 Blazor 客户端组件定义了一个@typeparam TModel 以使用
private List<TModel> _allModelRecs { get; set; }
如下代码所示。记下 (a) "ddlOtherModel_Value" 和 (b) TModel class ...
的 "UID_MODEL" 字段// 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 的 instance/record 的值。每个 TModel 的关键字段名称都不同:UID_CUSTOMER、UID_VEHICLE、UID_DEPARTMENT...等
在上面的代码片段中,这个问题显示了“UID_MODEL”——它不是实际的关键字段名称。
这里是问题... 我如何为“UID_MODEL”的实际 TModel 键名中的这些变体编码?
欢迎您提出意见或问题或答案。谢谢约翰
基本上你不应该。 UID 应该在抽象 TModel 上定义。
如果出于某种原因您无法控制,那么您将需要实施一些扩展来获取 ID。例如,您可以实现一个包装器 class 或一组静态扩展方法。另一种选择是使用反射来获取以“UID”开头的字段,但这可能很慢。