委託事件的實際運用

2021-09-06 06:12:22 字數 1825 閱讀 8726

1>事件在try catch中的運用

在多層架構中try catch事件類似於冒泡,如果不對**做任何處理,無論哪一層發生異常,都會在最頂層的ul層顯示出異常資訊。所以個人觀點,異常的捕獲工作最好在ul層。這樣所有層級報的異常都可以**獲到,因為錯誤會像氣泡一樣最終會在顯示層暴露出來。在每次設計到資料庫的時候捕獲異常,這樣每個頁面的資料操作都會被try catch包裹,有沒有一種更好得方法,讓**更簡潔。答案是肯定的。將控制項事件包裹起來,重新申明乙個事件,在該事件中呼叫控制項的事件,並且捕獲異常。

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.web;

5using

system.web.ui;

6using

system.web.ui.webcontrols;78

using

system.reflection;910

public

partial

class

_default : system.web.ui.page

1116

17protected

void btn_click(object

sender, eventargs e)

1821}22

public

class

eventhandlerwrap

2331

32public

static

implicit

operator

eventhandler(eventhandlerwrap wrap)

3336

37private

void invoke(object

sender, eventargs e)

3843

catch

(exception ex)

4447}48

49private

void logerror(string

errormsg)

50 }

2>事件在使用者控制項中運用

專案中會設計到報表的流程流轉,用到了公司自己研發的工作流,該工作流的功能關聯了報表的刪除以及狀態的顯示,所以不同的報表都會新增該工作流,這會導致乙個問題的出現,每個頁面都必須新增工作流,實現刪除功能和狀態顯示,重複的工作就出現了,所以最總的選擇是將工作流的操作和狀態封裝到自定義空間中。狀態的顯示可以從工作流例項中通過id獲取,但是報表的刪除則需要知道具體的表,所以必須把刪除操作放在頁面,解決的方案是在使用者控制項中申明乙個事件,將刪除的操作委託到具體的每個表報的頁面中。

1

using

system;

2using

system.collections.generic;

3using

system.linq;

4using

system.web;

5using

system.web.ui;

6using

system.web.ui.webcontrols;78

public

partial

class

usercontrols_workflow : system.web.ui.page915

protected

void lbndel_click(object

sender, eventargs e)

1620 }

c 委託事件

1,什麼是委託 委託是什麼?從生活理解就像是你是乙個c 程式設計師,你對c 並不了解,當需要進行c 分析的時候你委託給你的一位懂c 的同事幫你來完成 在c 中,委託的作用是這樣描述的 委託就像乙個函式的指標,在程式執行時可以使用它們來呼叫不同的函式。簡單點說,委託能夠引用函式,通過傳遞位址的機制完成...

初識委託 事件

這個是我剛入行第乙個感興趣的知識點,翻了翻不知道什麼時候記的筆記,覺得有必要把自己學的知識在梳理一遍,有一些點比當時更清晰 在這裡,先將一位大牛的部落格貼出來,有興趣的可以去看看,很詳細的介紹了委託與事件,讀了幾遍受益匪淺 c 中的委託和事件 c 中的委託和事件 續 本文例項是在vs2013下實現的...

C 委託事件

一 委託 委託類似於函式指標,但函式指標只能引用靜態方法,而委託既能引用靜態方法,也能引用例項方法。委託使用分三步 1 委託宣告。2 委託例項化。3 委託呼叫。例程一 程式 using system namespace 委託 private int add int num1,int num2 例中,...