Dictionary<MyStructure, MyObject>
MYSTRUCTURE字典意味着公共結構... MyObject來指特定的實體...
然後通過我的事件通過我的字典作爲
IEnumerable<MyObject> col = this.GetCollection().Values;
然後,當我管理我的事件我使用IEnumerable,但我想將其轉換爲以前的字典來訪問它的屬性,但我無法做到這一點。我試試這個。
Dictionary<MyStructure, MyObject> dict =
args.MyObjectCollection.ToDictionary(x => x.Key, y => y.Value);
我正在使用「using System.Linq;」和密鑰和價值不承認。當我在x或y之後寫點時。該幫助程序向我顯示對象MyObject的屬性。
你不能,你只有價值,而不是鑰匙了。您需要修復事件,以便它傳遞IDictionary <>或者IEnumerable'。還要考慮這是否是必要的,當您通過發件人的屬性或GetXxx()方法公開字典時也不會。事件通常應該只傳遞只在特定時刻有效的數據,以便事件發生並且不能通過其他方式合理獲得。傳遞字典是一種代碼異味,事件接收者存儲數據的陳舊副本的可能性太大。 –