類與物件例項之委託方法的使用

2021-09-19 06:37:58 字數 977 閱讀 4118

委託

委託是乙個類,它定義了方法的型別,使得可以將方法當作另乙個方法的引數來進行傳遞,這種將方法動態地賦給引數的做法,可以避免在程式中大量使用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 提供的一種以託管機制...