委託
委託是乙個類,它定義了方法的型別,使得可以將方法當作另乙個方法的引數來進行傳遞,這種將方法動態地賦給引數的做法,可以避免在程式中大量使用if-else(switch)語句,同時使得程式具有更好的可擴充套件性。
例題在乙個類中分別定義加、減、乘、除四個方法,在main函式中分別將這四個方法新增到委託物件中,並完成輸出。
①定義委託原型。
例如delegate bool mydelegate(decimal x);//delegate相當於委託類名;
②建立委託物件
例如:bankcard c1=new bankcard();
mydelegate d1= new mydelegate(c1.pay);
上面最後一行**還可以直接簡寫為:
mydelegate d1=c1.pay;
③通過委託物件呼叫方法
例如d1(300);
④委託的合併和刪除可以直接進行加減加入;
例如
fun f=div;
f=f+mod;//mod也進去了,所以現在fun有兩個函式div和mod;
下面是乙個例題
在乙個類中分別定義加、減、乘、除四個方法,在main函式中分別將這四個方法新增到委託物件中,並完成輸出。
namespace _2
static void add(int x, int y)//加法運算
+=", x, y, x + y);
}static void min(int x, int y)
-=", x, y, x - y);
}static void mul(int x, int y)
*=", x, y, x * y);
}static void div(int x, int y)
/=",x,y,x/y);}}
}
委託使用的例項
閱讀目錄 一 委託與執行緒 二 委託使用的例項 三 執行效果 一 委託與執行緒 委託基礎 委託使用的目的 把函式作為引數傳遞 類似於c 中的函式指標,和函式指標是有區別的 函式指標只能引用靜態方法,而委託可以引用靜態方法,也可以引用例項方法,當委託引用例項方法時,委託不僅儲存對方法入口點的引用,還儲...
委託使用的例項
閱讀目錄 一 委託與執行緒 二 委託使用的例項 三 執行效果 一 委託與執行緒 委託基礎 委託使用的目的 把函式作為引數傳遞 類似於c 中的函式指標,和函式指標是有區別的 函式指標只能引用靜態方法,而委託可以引用靜態方法,也可以引用例項方法,當委託引用例項方法時,委託不僅儲存對方法入口點的引用,還儲...
委託的宣告與例項化使用
系統訪問資料或呼叫方法有兩種操作方式 一種是通過名稱訪問或呼叫,另一種是通過所在的記憶體位址來訪問呼叫。為了系統的安全與穩定,net framework的clr庫不允許程式通過指標來直接操作記憶體中資料或方法,而是通過託管機制 來訪問記憶體中資料或呼叫記憶體中的方法。委託就是c 提供的一種以託管機制...