Warum arbeitet der C # -Ternäroperator nicht mit Delegierten zusammen?

Wenn zur Auswahl einer Funktion verzweigt wird, kann es sinnvoll sein, den ternären Operator zur Auswahl einer Funktion zu verwenden. Dies ist jedoch nicht möglich. Warum

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

Der Compiler erzeugt den folgenden Fehler:

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage