文章目录 一、C#中的协变 二、C#中的逆变 一、C#中的协变 众所周知,子类对象可以赋值给父类,例如 string str = string.Empty; object obj = str; 不会报错。如果换一种方式,代码如下: public class Father { private string Name { get; set; } } public class Son : Father { private string Name { get; set