Опыт программирования небольшой, помогите, пожалуйста, разобраться. Имеется интерфейс IPinHelper с методом PinFavoriteItem:
public interface IPinHelper
{
/// <summary>
/// Ставит\снимает флаг "Избранный" элементу, сохраняет в настройки и перемещает вверх в коллекции
/// </summary>
/// <typeparam name="T">Тип элемента, который нужно припинить\отпинить, должен реализовать интерфейс IPinnable</typeparam>
/// <typeparam name="TSettings">Тип настроек, с которыми нужно взаимодействовать, должен реализовать интерфейс IPinnedItems</typeparam>
/// <param name="pinned_item">Элемент, который нужно припинить\отпинить</param>
/// <param name="pinnable_items">Коллекция элементов, в которой нужно найти pinned_item элемент и поставить\снять флаг "Избранный"</param>
void PinFavoriteItem<T, TSettings>(IPinnable pinned_item, IList<T> pinnable_items)
where T : IPinnable
where TSettings : class, IPinnedItems, new();
Вызов метода выглядит так:
SetChanelFavoriteCommand = new SyncCommand<ChannelItemViewModel>(
execute: chanel =>
{
UtilFactory.Instance.PinHelper.PinFavoriteItem<ChannelItemViewModel, ChannelsSettings>(chanel, Channels);
});
ChannelItemViewModel - реализует интерфейс IPinnable
ChannelItemViewModel : BindableBase, IPinnable
а Channels - это:
ObservableCollection<ChannelItemViewModel> Channels
Не могу понять, почему не получается в параметрах установить коллекцию IList<IPinnable> pinnable_items
и убрать ограничение where T : IPinnable
void PinFavoriteItem<TSettings>(IPinnable pinned_item, IList<IPinnable> pinnable_items)
where TSettings : class, IPinnedItems, new();
Если я убираю ограничение и принимаю в параметр PinFavoriteItem(IList <IPinnable> )
тогда не получается отправить коллекцию Channels ObservableCollection<ChannelItemViewModel> Channels
Пробовал принимать в параметр вместо IList<IPinnable> ObservableCollection<IPinnable>
- все равно выдает ошибку приведения
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Стала падать программаВ ней реализовано так: ((Range)worksheet
У меня небольшая программка, которая копирует файлы с папками с одного места в указанноеХотелось бы прикрутить ProgressBar для отображения копирования,...
такая проблема: Есть код, который получает все файлы с данным расширением