這是什麼意思?我從業務層返回一個IList<T>
,然後添加來自UI的項目,但該應用程序抱怨說這是一個固定大小的列表。我怎樣才能克服這個問題?IList實現分爲三類:只讀,固定大小,可變大小
1
A
回答
1
你可以創建一個新的列表嗎? IE:
List<myObject> foo = new List<myObject>(someClass.getReadOnlyList(...))
如果你一定要拿到名單回業務邏輯,檢查,以確保有沒有一些其他的add()
功能(insert
,add
,append
,prepend
,等等)。某些類不允許您直接修改其內部集合,因爲他們更喜歡首先進行一些理智檢查,或者執行一些其他類型的工作來處理可能不應該向用戶公開的新數據。
0
據我所知,您不能以編程方式告訴您是否可以添加到可寫列表中。在另一方面,最常見的例子可能是Array
- 所以你總是可以嘗試:
if (list is Array)
{
// Copy to another list or whatever
}
技術含量低,我只是在業務層指示列表中,您將的屬性返回 - 無論是否可寫,等等。或者只是假定它不會被寫入,並且無論如何在UI中創建一個新列表。
0
如果您能控制業務邏輯(例如,它不是代碼生成的),那麼最簡單的解決方案可能是確保您使用的是不是固定大小的IList<T>
實現(如List<T>
) 。
相關問題
- 1. IList的麻煩。固定大小?
- 2. 分配可變大小類
- 3. MongoDB固定大小的數組實現
- 4. 固定大小
- 5. 爲模板固定+可變大小的類
- 6. 固定大小柱
- 7. css,固定大小
- 8. 可變大小的類 - C++
- 9. 固定初始大小的可調整大小的WPF窗口
- 10. 可調整大小的窗口之後,固定大小
- 11. 可變大小
- 12. 如何實現一個固定大小和一個可變列的WinForm?
- 13. 在simulink中將可變大小的數組填充到固定大小
- 14. 即使分發固定大小的div
- 15. HTML部分和div固定大小
- 16. MapView,固定大小的OverlayItem可繪製
- 17. PrimeFaces Tree可滾動固定大小
- 18. Flexslider的固定大小
- 19. 固定大小堆棧Java
- 20. Doctrine ArrayCollection固定大小
- 21. 固定文本大小
- 22. C++固定大小鏈表
- 23. 固定圖像大小
- 24. UICollectionView固定內容大小
- 25. 固定大小的形式
- 26. 固定大小的數組
- 27. Javascript背景固定大小
- 28. LibreOffice固定表大小
- 29. 固定大小陣列
- 30. 固定大小的按鈕
更一般地,您可以看到列表是否是非泛型System.Collections.IList接口的實例,如果是,請檢查IsFixedSize屬性。 – kvb 2009-06-24 18:03:38