C#beginner - 在同一个函数中回调

roo*_*era 4 c#

我很确定这是可能的(至少在java中是这样)而且我是C#初学者.

所以我有一个包含回调的函数(通知其他方法完成了一些工作).

我不想调用另一个函数,因为我在那里丢失了一个参数(并且不能在回调函数中传递参数).我怎样才能在同一个功能中完成所有工作?

我现在在做什么:

public static Tween Play(Tween tweenToPlay) 
{
    return tweenToPlay.Play().OnComplete(RewindCallback);

}

private static void RewindCallback() 
{
    // Execute some code after Tween is completed
}
Run Code Online (Sandbox Code Playgroud)

我真正想要的是:

public static Tween Play(Tween tweenToPlay) 
{
    return tweenToPlay.Play().OnComplete(/*Create a function that will execute here*/);
}
Run Code Online (Sandbox Code Playgroud)

15e*_*153 14

你是说像这样的lambda表达式吗?

public static Tween Play(Tween tweenToPlay) 
{
    return tweenToPlay
        .Play()
        .OnComplete(() => {
            //  Do stuff
        });
}
Run Code Online (Sandbox Code Playgroud)


Jon*_*lis 12

你只想要一个匿名方法?

public static Tween Play(Tween tweenToPlay) 
{
    return tweenToPlay.Play().OnComplete(() => 
    {
        //... your code
    });
}
Run Code Online (Sandbox Code Playgroud)