编程语言
首页 > 编程语言> > 你了解C#的协变和逆变吗

你了解C#的协变和逆变吗

作者:互联网

原文:你了解C#的协变和逆变吗

  • 从C# 4.0开始,泛型接口和泛型委托都支持协变和逆变,由于历史原因,数组也支持协变。
  • 里氏替换原则:任何基类可以出现的地方,子类一定可以出现。

协变(out)

逆变(in)

Action<Animal> animalAction = new Action<Animal>(a => { });
Action<Dog> DogAction = animalAction;

标签:animals,C#,dogs,逆变,Animal,协变,new,class
来源: https://www.cnblogs.com/lonelyxmas/p/12909247.html