我試圖在管理用於數據綁定的不同ObservableCollections的Silverlight 4 RIA Services應用程序中實現類。這些ObservableCollections需要用一個字符串名和一個整數classID來標識,我已經通過在Dictionary>對象中嵌套Dictionary對象來實現這個類。問題是,如果我有明確的實體類型(我這樣做),這個結構似乎不起作用。當我試圖將一個ObservableCollection放入一個ObservableCollection(我猜測如何實現一個通用實體列表)時,問題似乎就會發生。包含具有不同實體類型的ObservableCollection值的詞典的詞典
例如:
this.rawData = new Dictionary<int, ObservableCollection<DataRaw>>();
this.constData = new Dictionary<int, ObservableCollection<SystemConstant>>();
this.masterData = new Dictionary<string, Dictionary<int, ObservableCollection<Entity>>>();
masterData.Add("test", rawData); <--- ERROR OCCURS HERE, 'best overloaded method has invalid arguments'
注意,我一直在使用「對象」,而不是在masterData的實例化「實體」嘗試過,但沒有解決不了的問題(這是無可否認的一個微弱的嘗試)。
在此先感謝您的見解。如果我可以在這裏實施更好的模式,我願意保持靈活性。我主要希望避免編寫一些實體類型特定的邏輯來管理此類的更新。這似乎應該是可以概括的。
亞歷
是DataRaw從實體派生的類? – Murven 2010-10-29 05:39:31
是的,我相信。這是一個由我的數據庫構建的實體框架生成的類。 – user483679 2010-10-29 06:10:32