Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将函数1作为参数传递给函数2,函数2将函数1的结果作为对象检索_C#_Function - Fatal编程技术网

C# 将函数1作为参数传递给函数2,函数2将函数1的结果作为对象检索

C# 将函数1作为参数传递给函数2,函数2将函数1的结果作为对象检索,c#,function,C#,Function,我有两个函数,一个接收函数作为参数,并尝试返回传递函数的返回结果,另一个只是返回对象的函数,我稍后将其转换 object function1(Action act) { object result = act(); // do something with result return result; } object function2() { return (object)"string as object"; } 它说action没有返回类型,我想这样称呼它

我有两个函数,一个接收函数作为参数,并尝试返回传递函数的返回结果,另一个只是返回对象的函数,我稍后将其转换

object function1(Action act) {
    object result = act();
    // do something with result
    return result;
}
object function2() {
    return (object)"string as object";
}
它说action没有返回类型,我想这样称呼它:

function1(() => function2); // so it'll return "string as object" as object.
您需要通过进行更改,因为
操作
封装了一个方法,但不返回值

另一个需要改进的地方是,您可以将function1转换为泛型,这样就不必处理强制转换

T function1<T>(Func<T> act)
{
    T result = act();
    // do something with result
    return result;
}

string function2()
{
    return "string as object";
}
您需要通过进行更改,因为
操作
封装了一个方法,但不返回值

另一个需要改进的地方是,您可以将function1转换为泛型,这样就不必处理强制转换

T function1<T>(Func<T> act)
{
    T result = act();
    // do something with result
    return result;
}

string function2()
{
    return "string as object";
}
谢谢,成功了!(我会接受答案,所以不要再说
你可以在10分钟内接受答案)谢谢,成功了!(我会接受答案,所以不要再说
你可以在10分钟内接受答案