0

これが私が使っているコードです:

        Collection<WorkOrderLabor> workOrder = new Collection<WorkOrderLabor>();
        Collection<ServiceItem> serviceItems = new Collection<ServiceItem>();

        serviceItems  = from si in serviceItems
                        join cw in workOrder on si.ServiceKey equals cw.Key
                        select new { si };

        foreach (ServiceItem item in serviceItems)
            ctrl.Items.Add(...);

このエラーが発生します:

Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<AnonymousType#1>' to 'System.Collections.ObjectModel.Collection<ServiceItem>'

これは簡単な修正だと思いますが、理解できません。この背後にあるロジックは、このメソッドに渡されるキーに基づいて作業指示を検索し、作業指示が持つすべてのサービスアイテムを取得し、それらを反復処理してコンボボックスにスローする必要があることです。

4

1 に答える 1

5

ただあるべき

Collection<WorkOrderLabor> workOrder = new Collection<WorkOrderLabor>();
Collection<ServiceItem> serviceItems = new Collection<ServiceItem>();

var filteredItems = from si in serviceItems
                    join cw in workOrder on si.ServiceKey equals cw.Key
                    select si;

foreach (ServiceItem item in filteredItems)
    ctrl.Items.Add(...);

IEnumerable<>LINQ式から匿名型を返したくはありませんが、IEnumerable<ServiceItem>

于 2012-07-13T21:42:12.773 に答える