方法的引數一般是變數,但在某些情況下需要這個引數是另乙個方法,這時就可以參考下面這段**了。這個例子也很好的說明了委託在實際工作中的應用,**片段**於《c#高階程式設計第6版》隨書的示例**。
第19行定義了乙個**型別,第25行例項化了**型別,第29、30行的注釋表示完整的例項化的方式(可以替換掉27、28兩行)。示例**
1using
system;23
namespace
wrox.procsharp.delegates411
12public
static
double
square(
double
value)
1316}17
1819
delegate
double
doubleop(
double
x);20
21class
mainentrypoint22;
3233
for(
inti =0
; i
<
operations.length; i++)
34]:
", i);
36processanddisplaynumber(operations[i],
2.0);
37processanddisplaynumber(operations[i],
7.94
);38
processanddisplaynumber(operations[i],
1.414
);39
console.writeline();40}
41console.readline();42}
4344
static
void
processanddisplaynumber(doubleop action,
double
value)
45, result of operation is
", value, result);49}
50}51}
52
36 processanddisplaynumber(operations[i],
2.0);
這行就是重點了,呼叫
processanddisplaynumber方法,其中的第乙個引數
operations[i]就是委託型別,用來實現將方法作為乙個引數來傳遞。
46 double
result
=action(value);
這裡的action只是呼叫了委託例項封裝的方法而已。
JS 把函式作為引數傳遞
昨天同事問了我乙個挺有意思的問題,就是js如何把函式當作引數傳進另乙個函式中執行,上網找了乙個並做乙個總結,目前我能理解並正常使用的兩種方法 方法一 func 方法名 str 引數 function test1 func,str else function test2 str 方法二 functio...
如何把函式當成乙個引數傳遞(C )
以最簡單的氣泡排序為例,講述如何把函式當成乙個引數傳遞 方法一 傳遞函式指標 include include using namespace std void bubblesort int beg,int end,bool cmp int x,int y if flag return bool co...
函式當引數傳遞有什麼用
最近和一位同事說下linq,我提到linq裡很多方法表面來看是把原先不怎麼常用的一種技巧正式化了下,就是把函式當引數傳遞,同事有點不理解,或者這樣說,在工作中這有什麼用處.我這裡給出二種簡單比較常用的用法.1.填充多execl去重複 這裡想法比較簡單,也很容易想到,我有時匯出幾份execl時,那麼相...