Ist es möglich, eine Aktion als optionalen Parameter in einer Funktion zu haben? Die button2Action sollte optional sein.Aktion als optionaler Parameter in einer Funktion
public void DrawWindow(Rect p_PositionAndSize, string p_Button2Text = "NotInUse", Action p_Button2Action)
{
// Stuff happens here
}
Ich versuchte es mit z p_Button2Action = delegate{ Debug.Log("NotInUse"); }
aber aufgrund Standardwert Parameter nicht kompiliert für p_Button2Action ein Kompilierung-Konstante sein muss. Wie machst du eine optionale Aktion, die eine Kompilierzeitkonstante ist?
Wenn Sie null als Standardaktion verwenden möchten, können Sie Folgendes verwenden: p_Button2Action? .Invoke(); – RMazitov
@RMazitov Beachten Sie, dass der Koaleszenzoperator null nur in C# 6 oder höher verfügbar ist - also ist es richtig, das jetzt zu verwenden (aber offensichtlich gab es das 2013 nicht) –
ja, guter Punkt. Danke, dass du das gemacht hast) – RMazitov