0
我有一個代理函數做回調。 我想要做的是以下幾點:如何在函數調用中定義委託函數?
delegate void someDelegate(int i);
callFunction(int i, someDelate del)
{
del.invoke(i);
}
callFunction(10, void(int i)
{
printf(i);
});
我知道這是可能的,但我無法找到它了。
從您提供的僞代碼中很難判斷您想要做什麼。請提供一個簡短但完整的例子。例如,你期望'void(int i)'意味着什麼?你真的只是在尋找lambda表達式嗎? 'callFunction(10,i => Console.WriteLine(i))'? –
我想要做的是爲函數創建一個定義,以便我不必離開函數體本身,這樣我仍然可以在調用函數中定義變量。例如,當使用線程和當我得到一個線程完成執行的回調時,我想要在創建線程的原始函數中處理該回調。否則,我丟失了我正在使用的數據 – GeekPeek
我認爲這是類似於 callFunction(10,new someDelegate(int i) {printf(i); }); – GeekPeek