Home > Mobile >  Action Type C# can return a type?
Action Type C# can return a type?

Time:11-01

I am looking at a code and i see it say

public Action<MainViewModel, MainViewModel> SetView { get; }

Does this indicate that the action SetView is receiving something? I thought action types were always void?

Also, what what is the (ViewModel.SetView) portion mean? is that type casting to a SetView?

SetView = new Action<MainViewModel,MainViewModel>(ViewModel.SetView)

CodePudding user response:

Action type can only pass parameters. If you want to return a value, then you can use Func<>.

In your example, SetView is a property that takes an Action<MainViewModel,MainViewModel>, which means that the property should be set to a method that accepts 2 MainViewModels as parameters, so something like:

void MyMethod(MainViewModel model1, MainViewModel model2)
{ ... }

Except that yours is just a getter, so I assume it was set in a constructor.

  • Related