[英]Select a property parameter (Function) from a Generic Item
我有一个组件,其中接收一个泛型类型和一个Func<TItem, string>
到 select 一个属性以及一个名为 Data 的所述类型的列表。 对于 select 列表中的属性,它相当简单: Data.Select(Property)
并且我得到了所述属性的列表。 但是,我现在要做的不是 select 列表,而是 select 单个项目TSelected
,来自数据(如果有的话),其中属性等于我称为tvalue
的某个值。
[Parameter]
public List<TItem> Data { get; set; }
[Parameter]
public Func<TItem, string> Property { get; set; }
[Parameter]
public TItem Selected { get; set; }
...
private string _value;
[Parameter]
public string Value
{
get => _value;
set
{
// if it is equals do nothing
if (string.Equals(_value, value) || value == null)
return;
_value = value;
var selected = Data.Select(Property).FirstOrDefault(x => string.Equals(value, x));
if (!string.IsNullOrEmpty(selected))
{
/* Don't know how to select the property from a single TItem */
Selected = Data.Where( x => x.??? == selected).FirstOrDefault();
}
}
}
您的Property
func 接受TItem
并返回您想要的属性,对吗? 所以只需在 where 子句中使用它。
Selected = Data.Where( x => Property(x) == selected).FirstOrDefault();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.