1樓:網友
比喻:發行者:郵局負責某種報刊的人。
訂閱者:訂某種報刊的人。
事件就是郵局的某種報紙到了,發行者 告訴 訂閱者 (通過送報,或則喊廣播等).
發行者:郵局負責某種報刊的人 有多個 訂閱者: 訂該報刊的人。
訂閱者:訂報刊的人 可以 訂閱 多份報紙 (就是告訴 發行者:郵局負責某種報刊的人)
2樓:網友
訂閱者,可以訂閱多個事件,即乙個訂閱者使用的時候,引用了多個事件模式。
3樓:魔域super魂
事件可以註冊,事件註冊後,可以在被訂閱者觸發,觸發以後,去呼叫委託裡的方法。
訂閱者可以是按鈕,窗體(窗體載入),滑鼠(滑鼠可以單擊,雙擊。
c#為什麼要取消事件訂閱
4樓:網友
因為不取消會導致異常發生。假設物件銷燬了,但是還沒有**,事件執行的時候,還會通知給它,就會出現你不想要的結果。如果已經**了,就有可能丟擲異常。
由訂報事件引發的思考
5樓:網友
您好,看到您的問題一直是零回答問題且將要被新提的問題從問題列表中擠出,問題無 人回答過期後會被扣分並且懸賞分也將被沒收! 我也找了好久您所需要的答案。但是很遺憾,一直找不到。
您的問題難度太大了 所以。我覺得做事還是須由自己的聰明才智來解決的,別人不可能代勞!就算別人給你代 勞,最後也不屬於你的,只有自己做了才是真正屬 於自己的,別人只能給你提供指導和建議,最終靠自己。
所以, 祝願你 可以憑藉自己的努力找到最終自己想要的結果!你是最棒的! 您可以不採納我的答 案,但請你一定採納我的建議哦!
雖然我的答案很可能不能解決你的問題,但一定可以使你更 好地使用問問。
c#中的委託事件什麼意思
6樓:prince老手
這個是n多面試筆試裡面愛出的一道題,老生常談。。。
我討厭複製貼上,直接告訴你我的理解,希望對你有幫助---
委託是一種在物件裡儲存方法引用的型別,同時也是一種型別安全的函式指標。
給你舉個例子:
宣告乙個委託,這裡的newdelegate()可以理解為是之後用來取方法的乙個型別。
delegate void newdelegate();
下面定義的a,b兩種方法,你可以理解為newdelegate這個型別的兩個例項。
public void a()
如你所見,這是乙個很典型的委託呼叫。
c# 事件和委託的關係,我這麼說對不對
7樓:仙戈雅
似乎不對,當討論事件與委託的關係,需要從兩個方面,分別是使用者角度和。net內部底層。
1)使用者角度:事件(event)是乙個釋出者,它起到的作用是通知事件訂閱者要進行事件處理。但是事件釋出者並不知道它的事件訂閱者都有誰?
此時,就需要一箇中間人,而這個中間人正是委託(delegate)。所以當事件觸發時就形成了一種委託機制:
事件釋出者==》委託通知==》事件訂閱者處理2).net內部底層:當用event關鍵字宣告乙個事件型別時,編譯器在編譯時會自動插入兩個特殊的方法add_欄位名和remove_欄位名分別表示向委託鏈新增方法和移除方法。
c#中利用event事件或者是委託來發布訂閱模式是不是隻適用於在同乙個專案中的各個窗體?
8樓:
不是的。在你需要訂閱事件的地方,只要能引用到發頃灶布事件的物件,你都可以訂閱。
哪怕是你的dll,給別人呼叫也是一樣,不核乎橘限乙個專案。
frmmain load
form1 f=new form1();
form2 f2=new form2();
上面改團為示例。
c#裡事件和委託有什麼區別啊??
9樓:oooo泡
一 、使用位置不同。
事件只能在本型別內部「觸發」,委託不管在本型別內部還是外部都可以「呼叫」。
二、使用符號不同。
在類的外部,事件只能用「+=」和「-=」去訂閱/取消訂閱,如果是委託的話還可以使用「=」。
10樓:律雲淦弘麗
事件是類在發生其被關注的事情時用來提供通知的一種方式。
使用事件,物件a可以將關於事件或已發生變化的資訊通知其他物件b。
引發事件的物件稱為事件傳送方源。
捕獲事件並對其作出響應的物件叫做事件接收方。
在事件通訊中,傳送方不知道哪個物件或方法將接收【處理】它引發的事件。故需要在傳送方和接收方之間存在乙個媒介【或類似。
指標的機制】。.net
framework
定義了乙個特殊的型別。
delegate),該型別提供函式指標的功能。
事件使用委託來為觸發時將呼叫的方法提供型別安全的封裝。
這段話是我珍藏的,比較抽象。
為什麼不能直接用委託代替事件?我個人覺得,在事件通訊這個模式下,這是規定好的:事件+=委託(方法)。
如果按您的想法,直接委託+方法,那麼接收方如何知道你到底幹了什麼事情,是雙擊了button,還是單擊了一下窗體,又或者幹了其他事情。首先沒有方法知道,那麼接收方呼叫哪個委託(方法)呢?
您好好看看剛開始的那段話,應該會有很大幫助。
11樓:科魔弈
委託是函式的模板,類似於c++的函式指標,表示一類函式。委託的本質是類,所有的委託都派生自 類。
事件是特殊的委託例項,本質是委託例項,是乙個物件。與委託例項的區別主要是封裝。
12樓:網友
事件就是乙個狹義的委託,也就是事件是乙個用於事件驅動模型的專用委託。
通俗的講,委託你可以在客戶**中直接呼叫委託來激發委託指向的函式,而事件不可以,事件的觸發只能由服務**自己觸發。
也就是說在你的**裡委託你不但可以安排誰是它的呼叫函式,還可以直接呼叫它,而事件不能直接呼叫,只能通過某些操作觸發。
你可以理解事件就是乙個或多個委託,此話應該有誤的吧,事件可以有多個事件處理函式,委託同樣也可以是個多播委託。
13樓:喬克
其實委託可以理解為用方法作為引數 傳入另乙個方法中 傳送門。
14樓:叫我俠哥哥
方法 事件 都是函式。
方法是內觸發針對的使用者是程式猿。
事件是外觸發(特定的輸入訊號響應特定的操作)針對的使用者是應用程式的使用者。
委託是函式指標(是一中可以把函式當做變數的型別),委託變數的值是可以改變的,封裝了很多函式(方法和事件)
個人經驗,說的不好勿噴。
15樓:網友
你可以理解事件就是乙個或多個委託。
C中的委託如何應用
樓上的很長,不針對問題。我來答一下 using system using system.collections.generic using system.text namespace test public int divide int num1,int num2 public int yunsua...
c在事件中定義的變數,怎麼在另事件裡呼叫
把變數存在viewstate 裡面 public void form1 load object sender,eventargs e public void button3 click object sender,eventargs e 補充。忘記看了 樓主寫的是form 程式 不是web的 那就使...
關於委託加工的賬務處理委託加工物資業務中委託方和受託方的賬務處理該如何做
發出加工材料時 借 委託加工材料 貸 原材料 支付加工費時 借 委託加工材料 借 應交稅金 應交增值稅 進項稅額 貸 銀行存款 加工完畢收回時 借 原材料 或產成品 貸 委託加工材料 委託加工,是指由委託方提供原料和主要材料,受託方只代墊部分輔助材料,按照委託方的要求加工貨物並收取加工費的經營活動。...