場景:我有一個使用延遲加載的實體框架實體的集合,因此爲DynamicProxies
。然後有一個方法將一些選定的項目傳遞給覆蓋,我寫爲object
。我需要將List<DynamicProxies.EntityABCD>
(實際上傳遞爲object
)轉換爲List<Entity>
。C#和實體框架 - Casting對象是List <DynamicProxies ...>到列表<Entity>
然而鑄造名單這樣
dropInfo.Data as List<MyEntity>
將返回null。我甚至不能使用通用方法Cast<T>
,因爲源列表再次以object
的形式傳遞。
我也試過
dropInfo.Data as List<object>
,但它仍然會返回null。
在此先感謝
編輯:設法與
((IList)dropInfo.Data).Cast<MyEntity>()
清潔列表不過,我仍然需要檢查錯誤等
你打算怎麼處理那個'List'?不能有一些協變的界面(如'IEnumerable','IReadOnlyList ')爲你工作? –
現在我明白了你的問題。在將它傳遞給dragInfo之前,是否可以將'List''轉換爲'列表'?我懷疑你必須以某種方式存儲dragInfo(你的List),所以當你拖放時它可以在'dropInfo.Data'中傳回,所以你可以在之前進行轉換。 –
Alisson