contravariance.cs
public text v1 · immutableclass Mammals
{
}
class Dogs : Mammals
{
}
class Program
{
public delegate void MyHandlerMethod(Dogs sample_dog);
public static void MyFirstHandler(Mammals elephant)
{
}
public static void MySecondHandler(Dogs sheepdog)
{
}
static void Main(string[] args)
{
// Contravariance permits this delegate.
MyHandlerMethod handler_1 = new MyHandlerMethod(MyFirstHandler);
MyHandlerMethod handler_2 = new MyHandlerMethod(MySecondHandler);
}
}