0
我有一個簡單的類:動態比較/訪問對象的屬性與字符串引用
class Event {
public string Source { get; set; }
}
然後,我有這個類的List:
var list = new List<Event>();
list.Add(new Event { Source="Me" });
list.Add(new Event { Source="You" });
現在,我想在一個事件列表中的「源」屬性設置爲「我」。
,但我不希望訪問該屬性類似這樣的列表[0] .Source這樣的:
list.Where(o => o.Source == "Me").Single()
我知道,我的對象有「源」屬性。但我需要傳遞一個字符串來獲取該屬性並進行比較。像這樣的:
list.Where(o => o.GetType().GetProperty("Source").GetType() == "Me").Single()
顯然,這是行不通的。 Basicaly我需要能夠編寫比較像o.Source == "ME"
而不直接引用屬性。
我該怎麼做?
下載去後,您可以嘗試微軟的動態LINQ庫,https://msdn.microsoft.com/en-us/vstudio/bb894665.aspx到zip文件中的LinqSamples/DynamicQuery這裏有一個很好的博客文章https://weblogs.asp.net/scottgu/dynamic-linq-part-1-using-the-linq-dynamic-query-library – dman2306
爲什麼'。 GetType()==「我」?你應該得到的價值和比較? –