2011-07-19 11 views
0

私はこのような構造を持つクラスがあります。戻り個別の値を動的に

public class BusinessObject 
{ 
    public int Column5 { get; set; } 
    public int Column6 { get; set; } 
    public string Column7 { get; set; } 
    public int Column8 { get; set; } 
} 

を、私はLINQを使用して、この行を持っている:

List<int> test = (from x in BusinessObjectCollection select x.Column5).Distinct().ToList(); 

は今、この素敵な作品..しかし、私は何をいない場合ユーザーが固有の値を必要としていることを知っていますか?私が持っているのは、どの列に別の値が必要なのかを示す文字列変数です。私はifを使用する

答えて

2

List<object> test = (from x in BusinessObjectCollection select x.GetType().GetProperty ("thePropertyName").GetGetMethod().Invoke(x,null)).Distinct().ToList(); 
0

を試してみてください。なぜこれを複雑にするのですか?

0

このような形式を試してくださいpseudeocode!

IQueryable<BusinessObject> filteredBoList = boList.AsQueryable(); 
Type boType= typeof(BusinessObject); 
foreach(string filter in filterColumnNames) { 
    var found = filteredBoList.Where(p => (string)boType.InvokeMember(filter.FieldName,BindingFlags.GetProperty, null, p, null) == filter).Distinct(); 
} 

万一作品。

よろしくお願いいたします。

関連する問題