我確定我在這裏丟失了某些東西,但是這不起作用的任何特定原因?將通用列表傳遞給ObservableCollection構造函數
public ObservableCollection<object> ItemCollection { get; set; }
private void SetListData<T>(List<T> MyList)
{
ItemCollection = new ObservableCollection<object>(MyList);
}
T有一些價值,這將無法正常工作?我的數字對象的集合將覆蓋每一個案件,但似乎並不:
錯誤2參數1:不能從 「System.Collections.Generic.List
<T>
」轉換爲 「System.Collections.Generic.List<object>
「
更改屬性的簽名會導致整個一套新的問題,所以將其更改爲:
ItemCollection = new ObservableCollection<T>(MyList);
似乎並不LIK一個很好的解決方案。任何人都可以告訴我爲什麼我的原始代碼不起作用,並且如果有任何簡單的修復?
我認爲只是代碼片段沒有解釋沒有什麼用處。 – svick
出於好奇,爲什麼這個工作'where T:class',我想它阻止我傳遞一個接口? –
如果你有一個已知類型'int'的列表,它將不起作用(至少不是沒有'Cast')。 – svick