Почему я не могу бросить IEnumerable <T> список к BindingList <t>?

Ни необязательные параметры, ни перегрузка функций не поддерживаются в Go. Go поддерживает переменное число параметров: Передача аргументов в ... parameters

6
задан Ben Dykes 1 July 2009 в 16:28
поделиться

4 ответа

Вы передаете PagingList в свой RenderListingsRows, который не реализует IEnumerable.

В общем, чтобы PagingList был расширением над BindingList, он должен реализовывать все интерфейсы, которые реализует BindingList. Но в настоящее время он не реализует ни один из них.

Вы должны либо унаследовать PagingList от BindingList, либо реализовать все эти интерфейсы, даже если просто вызывая методы объекта Collection.

Или вы можете просто написать для (var элемент в списке. Коллекция)

1
ответ дан 16 December 2019 в 21:44
поделиться

Если ваша коллекция учетных записей реализует IList , вы сможете сделать это:

PagedList<AccountInfo> paged = new PagedList<AccountInfo>();
paged.Collection = new BindingList<AccountInfo>((IList<AccountInfo>)accounts);
0
ответ дан 16 December 2019 в 21:44
поделиться

Send the binding list to the RenderListingsRows not the paging list. PagingList does not extend BindingList it uses composision instead. Hence the issue.

Example below.

 public class PagingList<T>
        {
            public BindingList<T> Collection { get; set; }
            public int Count { get; set; }

            public PagingList()
            {
                Collection = new BindingList<T>();
                Count = 0;
            }

        }

        public void CallRenderListingsRows()
        {
            var pagingList = new PagingList<PostcodeDetail>();

            RenderListingsRows(pagingList.Collection);
        }

        protected void RenderListingsRows(BindingList<PostcodeDetail> list)
        {
            foreach (var item in list)
            {
                //render stuff
            }
        }
0
ответ дан 16 December 2019 в 21:44
поделиться

BindingList реализует IEnumerable , но не все IEnumerable являются списками привязки (фактически, большинство - нет).

Вы должны иметь возможность создать новый BindingList и добавить элементы в перечисляемый экземпляр.

4
ответ дан 16 December 2019 в 21:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: