What is the best way to convert Action to Func?

后端 未结 2 441
清酒与你
清酒与你 2020-12-20 11:05

I have two functions in my class with this signatures,

public static TResult Execute(Func remoteCall);
public static void Exe         


        
2条回答
  •  爱一瞬间的悲伤
    2020-12-20 11:57

    you are asking literally to pass something that doesn't supply a result to a function that requires it.
    This is nonsensical.

    You can easily convert any function of Form Action to Func if you are willing to supply some result value (either implicitly or explicitly)

    Func MakeDefault(Action action)
    {
        return t =>  { action(t); return default(TResult);}; 
    }
    

    or

    Func MakeFixed(Action action, TResult result)
    {
        return t =>  { action(t); return result; };
    }
    

提交回复
热议问题