Я имею следующие интерфейсы:Pass унаследовал интерфейс к способу
public interface IBase
{
int id1 { get; set; }
}
public interface IDerived : IBase
{
int id2 { get; set; }
}
И следующую программу (пример):
class Program
{
static void Main(string[] args)
{
IList<IDerived> derived = null;
Check(derived);
}
static void Check(IList<IBase> base)
{
}
}
Я получаю эту ошибку compliation: не может преобразовать от 'System.Collections.Generic.IList<IDerived>
' до 'System.Collections.Generic.IList<IBase>
'
Если я пытаюсь передать только один экземпляр, а не список, он работает, и что мне здесь не хватает?
Спасибо,
Не является ли 'base' зарезервированным ключевым словом в C#? – aolde
Не прошло и недели, когда кто-то не задавал вопрос о ковариации. –