Проблема ковариации с универсальной коллекцией в интерфейсеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проблема ковариации с универсальной коллекцией в интерфейсе

Сообщение Anonymous »

Я немного не понимаю, почему у меня возникает эта ошибка. Поскольку я объявил T как out, разве не следует возвращать его тип?

Код: Выделить всё

public interface IWebFeed where T : BaseItem
{
List getItems();

void loadFeed();
}
Вместо этого я получаю:

Параметр ковариантного типа T' должен быть инвариантно допустимым для Shared. Service.Feed.IWebFeed.getItems()'

РЕДАКТИРОВАТЬ: Итак, как отметил Мбекиш, в его ссылке изменение List для IEnumerable должен решить эту проблему, но когда я следую объявлению для IEnumerable, я получаю следующее:

Код: Выделить всё

using System;

namespace System.Collections.Generic
{
public interface IEnumerable : IEnumerable
{
//
// Methods
//

IEnumerator GetEnumerator();
}
}
Это ошибка в Xamarin или их PCL? Тот факт, что T еще не вышел?

Подробнее здесь: https://stackoverflow.com/questions/147 ... -interface
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»