泛型变体 本文参照书籍《深入理解 C#》 泛型的协变: 往更大的基类转换,例如string转object。泛型值只用作输出 public interface IEnumerable<out T> 泛型的逆变: 往更小的派生类转换。例如object转string。泛型值只用作输入(接收)