Console.WriteLine("Number Of Edges: {0}, Color: {1}",
shape.NumberOfEdges,
shape.Color);
}
ואז נוכל לקרוא למתודה פשוט כך:
נניח שיש לנו טיפוסים כאלה:
1
2
3
4
5
6
7
8
9
publicclassTriangle : IShape
{
// ...
}
public class ColoredTriangle : IShape, IColored
{
// ..
}
אז נוכל לקרוא למתודה ככה:
1
2
3
4
ColoredTriangle coloredTriangle =
new ColoredTriangle();
MyMethod(coloredTriangle);
אבל לא ככה:
1
2
3
Triangle triangle = new Triangle();
MyMethod(triangle);
מניב את שגיאת הקימפול
The type ‘Triangle’ cannot be used as type parameter ‘TColoredShape’ in the generic type or method ‘MyMethod(TColoredShape)’. There is no implicit reference conversion from ‘Triangle’ to ‘IColored’.