2014-10-29 67 views
1

參數我有一個類和方法如下面由條件傳遞組作爲使用函數功能

public class Product{ 

public int Id{get;set;} 
public string Name{get;set;} 
} 

private void Method(List<Product> products) 
{ 

var grouped = products.GroupBy(x=>x.ProductId) 

....etc 

} 

是否有可能通過條件通過基團X => x.ProductId作爲參數?因爲有時我想按姓名,身份證等...

請有人幫忙嗎?我試圖執行Func鍵Deletegate,但我面臨着數據類型不匹配

private void Method(List<Product> products, Func<Product, long> groupByCond) 
    { 

    var grouped = products.GroupBy(groupByCond) 

    ....etc 

    } 

但按名稱分組的一個問題,而不是長,預計輸入字符串。有人可以幫助使這種通用的,它接受所有類型?

謝謝。

回答

2

只要按照其他任何泛型方法所做的操作,使用泛型類型參數(例如,TProperty)而不是long

private void Method<TProperty>(List<Product> products, Func<Product, TProperty> groupByCond) 
+0

謝謝,從未想過會這樣容易:) – Lamps 2014-10-29 14:12:57

相關問題