案例很简单,我有这个接口
public interface IHasNext
{
IHasNext NextItem { get; set; }
}
然后我尝试像这样实现它:
public class Item : IHasNext
{
public int Id { get; set; }
Item NextItem { get; set; }
}
但这不起作用,因为实现的属性 NextItem 不是同一类型(即使该类型实现了接口)。所以有人可以向我解释这不起作用的原因,当你可以相当自由地交换接口的类型时,它们甚至作为类型参数(至少在 IEnumerable 和 IQueryable 上)实现的接口。