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'