說我有一個Dictionary對象,它包含一個名爲SomeObject的對象的許多實例,每個SomeObject具有名爲Property1和Property2的屬性。現在說我有一個方法可以返回按Property1排序的新字典。但是,我想概括一下這個方法,以便我可以告訴它要排序的屬性。通用化方法'獲取'任何對象屬性
例如,要做到這一點,我知道我可以輕鬆擁有兩種不同的方法,如:
public Dictionary<string, SomeObject> SortByProp1(Dictionary<string, SomeObject> dict) { ... }
public Dictionary<string, SomeObject> SortByProp2(Dictionary<string, SomeObject> dict) { ... }
但是,我不知道是否有可能將這些組合成一個方法中,我可以給一個參數來確定返回哪個方法?我不知道有什麼辦法來推廣這樣的財產...
注意:我做意識到我總是可以使用像if語句可能基於屬性名稱的字符串,但這看起來不像是一個非常優雅的,可以接受的答案,遠遠好於僅僅有兩種獨立的方法。
「Dictionary」不能排序。你需要在返回值中有一個'SortedDictionary'。 – kennytm 2011-03-03 02:49:00
SortedDictionary是在鍵上排序的,我需要根據其中一個屬性進行排序。我已經實現了該方法,但只有給定的屬性(意味着我需要多個方法來對值的不同屬性進行排序)。 – JToland 2011-03-03 03:07:28