c# delegate action code example

Example 1: C# actions

//Action is a invokeable container for Mehod or function method 
//that doesnt return anything. They can accept inputs based on the generals 
//that you template on. If you need a return check out the Func Class
//example:
Action YourActionProperty = new Action(()=>{/*do something*/});
//or
Action YourActionProperty = ()=>{/*do something*/};
//or
Action<int/*Or some other types followed by others comma seperated*/> 
YourParamitarizedActionProperty =
  (x/*Each Param will be to the comma seperated types*/)=>
  {/*do some with the inputs*/});

// you can invloke them by calling their invokes.
YourActionProperty.Invoke();
YourParamitarizedActionProperty.Invoke(5);
//The last is the basic sycronous way. For a aysnc call uses
YourActionProperty.BeginInvoke();
YourParamitarizedActionProperty.BeginInvoke(5);
//although awaiting is not required should you need to await a aysnc call use
YourActionProperty.EndInvoke();

//You can also fill them with defined methods in a class if you wish, 
//but the signatures must match.
Action YourActionDefinedProperty = YourDefinedMethod;
void YourDefinedMethod()
{
  //do something
}

Example 2: action delegate c#

private void ShowContentThreadSafe(int level)
  {
            
      if (UcView.TreeList.InvokeRequired)
       {
          	UcView.TreeList?.Invoke(new Action1<int>(a => ShowContent(level)));
       }
       else
        	ShowContent(level);
            
   }