为什么以下代码会出现错误?
无效方差:类型参数“T”必须在“UserQuery.IItem<T>.GetList()”上始终有效。“T”是协变的。
public interface IFoo {}
public interface IBar<T> where T : IFoo {}
public interface IItem<out T> where T: IFoo
{
IEnumerable<IBar<T>> GetList();
}
为什么以下代码会出现错误?
无效方差:类型参数“T”必须在“UserQuery.IItem<T>.GetList()”上始终有效。“T”是协变的。
public interface IFoo {}
public interface IBar<T> where T : IFoo {}
public interface IItem<out T> where T: IFoo
{
IEnumerable<IBar<T>> GetList();
}