¿Por qué el operador ternario C # no trabaja con delegados?

Cuando se bifurca para seleccionar una función, puede tener sentido usar el operador ternario para seleccionar una función, pero esto es imposible. ¿Por qué?

public class Demo {
    protected bool branch;
    protected void demo1 () {}
    protected void demo2 () {}
    public Action DoesntWork() {
        return branch ? demo1 : demo2;
    }
}

El compilador produce el siguiente error:

Cannot implicitly convert type `method group' to `System.Action'

Respuestas a la pregunta(2)

Su respuesta a la pregunta