聽起來有點複雜,但這裏是我想做的事:合格名單,形成LINQ查詢中一個新的對象
我過濾的MyObject
某些屬性在List<MyObject>
成新LINQ對象爲:
var filteredMyObjects = from r in myObjects select new { r.ComponentName, r.Group, r.Key };
現在的問題是,屬性ComponentName
,Group
和Key
應該來作爲輸入(例如屬性名稱的List<string>
)。這在我的邏輯中用於將數據導出到excel中。
我一直在試圖把它與這一理念相結合:
typeof(MyObject).GetProperty(property).GetValue(objectInstance) as string
但不能換我圍繞如何實現它的頭。
編輯:
見例如什麼,我需要實現:
List<string> userDefinedPropeties = new List<string> {Property1, Property2, Property3 ... }
var filteredMyObjects = from r in myObjects select new { r.Property1, r.Property2, r.Property3 ... };
理想的答案是這樣的,但這種解決方案並不在我的情況下工作 : Linq access property by variable
我真的不明白你想要做什麼。你想訪問你選擇的匿名對象的屬性嗎?在那種情況下,爲什麼不創建一個新的類,我猜是一種DTO,它可以讓你選擇新的MyDtoObject {...}? – kai
簡單。我想傳遞哪些屬性在我的filteredMyObjects var中使用。 – eYe
爲什麼不提供一個ListBox供用戶從可用屬性中進行選擇?反思總是容易出錯。 –