Как исправить такую ошибку? Не удалось привести тип объекта "X" к типу "Y - C#
Формулировка задачи:
Изучаю делегаты
using System;
class X
{
public int Val;
}
class Y : X { }
delegate X ChangeIt(Y obj);
class CoContraVariance
{
static X IncrA(X obj)
{
X temp = new X();
temp.Val = obj.Val + 1;
return temp;
}
static Y YIncrB(Y obj)
{
Y temp = new Y();
temp.Val = obj.Val + 1;
return temp;
}
static void Main()
{
Y Yob = new Y();
ChangeIt change = IncrA;
X Xob = change(Yob);
Console.WriteLine("Xob:" + Xob.Val);
change = IncrB;
Yob = (Y)change(Yob);
Console.WriteLine("Yob: " + Yob.Val);
}
}Решение задачи: «Как исправить такую ошибку? Не удалось привести тип объекта "X" к типу "Y»
textual
Листинг программы
change = YIncrB;