C# Func返回任何类型
我有以下属性类别:C# Func返回任何类型,c#,func,C#,Func,我有以下属性类别: class tbl_tax_type { public int TAXT_ID { get; set; } public string BFNS_CODE { get; set; } public string TAXT_CODE { get; set; } public string TAXT_DESC { get; set; } public string ACCT_CODE { get; set; } public Dat
class tbl_tax_type
{
public int TAXT_ID { get; set; }
public string BFNS_CODE { get; set; }
public string TAXT_CODE { get; set; }
public string TAXT_DESC { get; set; }
public string ACCT_CODE { get; set; }
public DateTime CREATED_DATE { get; set; }
public string CREATED_BY { get; set; }
public Nullable<DateTime> LAST_MODIFIED_DATE { get; set; }
public string LAST_MODIFIED_BY { get; set; }
public string TAXT_STATUS { get; set; }
}
缺少了一些内容,选择器表达式的TResult。我希望它返回任何类型的数据,因为tbl_tax_type的属性具有不同的数据类型。这可能吗?你是说像
public static List<S> DistinctBy<T, S>(List<T> myList, Func<T, S> selectorExpr)
{
return myList.Select(selectorExpr).Distinct().ToList();
}
public static List DistinctBy(List myList,Func selector expr)
{
返回myList.Select(selectorExpr.Distinct().ToList();
}
试试这个:
public static List<T> DistinctBy<T, S>(List<T> myList, Func<T, S> selectorExpr)
{
return myList.ToLookup(selectorExpr).SelectMany(t => t.Take(1)).ToList();
}
public static List DistinctBy(List myList,Func selector expr)
{
返回myList.ToLookup(selectorExpr).SelectMany(t=>t.Take(1)).ToList();
}
他想在S上有一个不同的值,但要枚举T.Hmm。。因此,根据selectorExpr?获取所有T的列表,这些T只出现一次,或者是什么谜团回答了这个问题,即任意为selectorExpr确定的每个不同值获取一项myList。想要的功能似乎很奇怪。我猜他想要的是一个S而不是T的列表
public static List<T> DistinctBy<T>(List<T> MyList, Func<T, __> SelectorExpr)
{
return GenericList.Select(SelectorExpr).Distinct().ToList();
}
DistinctBy(TempList, v => v.TAXT_CODE);
public static List<S> DistinctBy<T, S>(List<T> myList, Func<T, S> selectorExpr)
{
return myList.Select(selectorExpr).Distinct().ToList();
}
public static List<T> DistinctBy<T, S>(List<T> myList, Func<T, S> selectorExpr)
{
return myList.ToLookup(selectorExpr).SelectMany(t => t.Take(1)).ToList();
}