鑄造集合
Collection<T>
到
ObservableCollection<T>
這樣的:
ObservableCollection<MyObject> col1;
col1 = (ObservableCollection<MyObject>)new Collection<MyObject>();
但是當我嘗試通過反射我收到以下錯誤做到這一點:
myProperty.SetValue(
element,
Convert.ChangeType(values, myProperty.PropertyType, null)
, null);
A first chance exception of type 'System.InvalidCastException' occurred in mscorlib.ni.dll Additional information: Object must implement IConvertible.
爲什麼在正常運行時的轉換工作,而不是當我使用反射?
編輯 我結束了「解決」通過不使用Collection<T>
作爲一種類型,而是直接使用我myProperty.PropertyType
類型我的問題。
該死的這是令人尷尬的。我有一個編譯器錯誤沒有演員,並錯誤地認爲它會投的很好。 – 2014-11-08 16:24:11