異なる継承されたクラスを持つリストを関数に渡す方法は、親インターフェイスのリストを受け取りますか? コンパイラはエラーを生成します。
public interface ControlPoint
{
}
public class Knot: ControlPoint
{
}
public class Node: ControlPoint
{
}
class Spline
{
List<Knot> knots=new List<Knot>();
List<Node> nodes=new List<Node>();
void Calculate(List<ControlPoint> points) {} //<------- Compiler Error
void Test()
{
Calculate(knots);
Calculate(nodes);
}
}