Приведенный ниже пример отлично компилируется в обычном Mono 2.10.9:
namespace covarianttest
{
public interface ITest<out T> : IEnumerable<T>
{
}
}
Однако, когда я пытаюсь скомпилировать его с MonoTouch 6.0.8, я получаю эту ошибку:
Ошибка CS1961: параметр ковариантного типа «T» должен быть инвариантно действительным в «covarianttest.ITest».
Итак, я предполагаю, что MonoTouch еще не поддерживает расширение ковариантных/контравариантных универсальных интерфейсов? Если да, то каков рекомендуемый обходной путь для этой ситуации в MonoTouch?