[問題] Event可否被用來當值給另外一個Event變數?

看板C_Sharp (C#)作者 (YYY)時間18年前 (2007/01/11 02:01), 編輯推噓7(702)
留言9則, 4人參與, 最新討論串1/1
像是 this.button1.Click += this.button2.Click; 如果我想交換兩個物件的EventHandler要怎麼換呢? 還有怎麼清掉原本設好的 Event? @@ -= 感覺不 Smart -- PTT - codejob 板,歡迎來參觀 提供發案園地,與交流討論接案經驗 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.230.164.184 ※ 編輯: nosrep 來自: 220.228.185.2 (01/11 13:14)

01/11 15:44, , 1F
設為null應該就清掉了吧
01/11 15:44, 1F

01/11 16:17, , 2F
this.button1.Click 後面的operator只能是 += 或是 -=
01/11 16:17, 2F

01/11 16:19, , 3F
否則會有compile error
01/11 16:19, 3F

01/11 16:19, , 4F
-=的確不smart...不過...如果找不到更好的方法就先用吧XD
01/11 16:19, 4F

01/11 20:56, , 5F
event只能在自己的class內作操作,外頭一律只能+=,-=, =null
01/11 20:56, 5F

01/11 20:57, , 6F
要亙換用protect virtual,否則用delegate (講很模糊因沒作)
01/11 20:57, 6F

01/11 22:40, , 7F
Event可以設 null 嘛?
01/11 22:40, 7F

01/12 12:12, , 8F
Event不能設null,它只能操作+=, -=,因為外部無法設定event
01/12 12:12, 8F

01/12 12:16, , 9F
event只能由所宣告的class來觸發或設定,透過method去設null
01/12 12:16, 9F
文章代碼(AID): #15fIe6Bv (C_Sharp)
文章代碼(AID): #15fIe6Bv (C_Sharp)