从C#方法返回一个方法

时间:2013-01-19 17:33:48

标签: c# methods return-value return-type

我发现this post解释了如何在C#中将方法作为参数传递。

我需要知道的是如何作为另一个方法调用的结果返回一个方法。

method = DoSomething()
result = method()

4 个答案:

答案 0 :(得分:4)

您需要使用Action<T>Func<T>

像这样:

private Action<string> Returns(string user)
{
    return () => 
    {
        Console.WriteLine("Hey {0}", user);
    };
}

或者这个:

private Func<bool> TestsIsThirty(int value)
{
    return () => value == 30;
}

答案 1 :(得分:2)

您最有可能希望返回类型为Delegate

答案 2 :(得分:2)

查看ActionFunc代表。

答案 3 :(得分:2)

var method =()=> DoSomething();
result = method();