Вот моя проблема:
Код: Выделить всё
public class Test
{
public bool Foo { get; set; }
public Action Action { get; set; }
public void A()
{
Action = Foo ? B : C;//Gives compiler error
}
public void B(bool value)
{
}
public void C(bool value)
{
}
}
Неявного преобразования нет между «группой методов» и «группой методов».
Что странно, поскольку я не могу понять, почему это незаконно.
Кстати, синтаксис ниже сделает это действительным (с точки зрения компилятора):
Код: Выделить всё
public void A()
{
Action = Foo ? (Action) B : C;
}
Подробнее здесь: https://stackoverflow.com/questions/707 ... ssary-cast