2007-03-23 13:00 by iceboundrock, 2851 visits, 網摘, 收藏, 編輯
在.net中,event是乙個相當有用的特性,它讓我們可以很輕鬆的實現**。但是它也有著相當的不方便之處:乙個event在宣告它的class之外只能使用+=/-=操作符進行delegate的增減,無法一次刪除所有掛在它上面的delegate。
程式規模小的時候還好辦,一旦程式膨脹,想弄清到底在乙個事件上掛了那些delegate還真是挺麻煩的事情。尤其是很多class都有事件,很多事件在不同的地方被掛鉤。當確定乙個物件不用的時候,你需要及時把它的事件上掛的delegate斷開。
下面這個函式可以起到直接清空乙個物件所有的事件的作用,還是老規矩,**就不多解釋了:
1
///2
///清除乙個物件所有事件所掛鉤的delegate
3
///4
///有事件的物件
5 public
static
void
clearallevents(
object
objecthasevents)
6
11
12 eventinfo events
= objecthasevents.gettype().getevents(
13 bindingflags.public
| 14 bindingflags.nonpublic
| 15 bindingflags.instance);
16
17
if(events
==null
||events.length
<
1)18
21
22
for(
inti
=
0 ; i
<
events.length; i
++)23
44 }
45
catch
46 48 }
49 }
50
51
清除所有 svn目錄
一 在linux下 刪除這些目錄是很簡單的,命令如下 find type d name svn xargs rm rf 或者 find type d iname svn exec rm rf 全部搞定。二 在windows下 1 在專案平級的目錄,執行dos命令 xcopy project dir ...
清除所有 svn目錄
這裡 一下網上找到的刪除方法,以備後用,以下內容 iceskysl 1sters 一 在linux下 刪除這些目錄是很簡單的,命令如下 find type d name svn xargs rm rf 或者find type d iname svn exec rm rf 全部搞定。http tech...
清除所有的mobileprovision
首先cd到目錄 library mobiledevice provisioning profiles cd library mobiledevice provisioning profiles 然後刪除裡面所有的mobileprovision檔案 rm mobileprovision 這樣再看xco...