事件接收器的最佳做法

2021-06-21 05:03:16 字數 933 閱讀 4871

**

在事件接收器中使用物件

不要在事件接收器內例項化 spweb、spsite、splist 或 splistitem 物件。例項化這些物件而非使用通過事件屬性傳遞的例項的事件接收器可能會導致以下問題:

不良的編碼實踐

在事件接收器內安裝乙個 spsite 物件

c#vb

複製

public

override

void itemdeleting(spitemeventproperties properties)

}}

良好的編碼實踐

使用 spitemeventproperties

c#vb

複製

// retrieve spweb and splistitem from spitemeventproperties instead of

// from a new instance of spsite.

spweb web = properties.openweb();

// operate on the spweb object.

splistitem item = properties.listitem;

// operate on an item.

如果不從 spitemeventproperties 中檢索 spweb、spsite、splist 或 splistitem 物件,而是在乙個事件接收器中例項化這些物件,當對這些新例項呼叫 update 時,則必須使用 speventpropertiesbase 的適當子類(例如 spitemeventproperties.invalidatelistitem 或 spitemeventproperties.invalidateweb)中的 invalidate 方法清除它。

廣播接收器

靜態註冊 靜態註冊是指在清單檔案裡面直接寫。動態註冊 動態註冊就是在傳送廣播的activity裡面寫 動態註冊 mybroadcasreceivera mybroadcasreceivera new mybroadcasreceivera intentfilter intentfilter new ...

go指標接收器和非指標接收器

type student struct 指標接收器 func s student ageadd1 非指標接收器 func s student ageadd2 指標接收器傳入的是struct本身,非指標接收器傳入的是struct的copy副本 指標接收器可以讀寫struct中的內容,非指標接收器只能讀...

linux安裝usb wifi接收器

好長時間沒有寫點東西了。最近遇到電腦的無線網絡卡壞了,連不了 想買個 的 接收器來替代,但沒想到這點小問題到過了 天,為防止以後在忘了,留個草稿。如果菜鳥們遇到和我一樣的問題,也可以借鑑一下。我的電腦是 的系統,的系統也都一樣的命令。我買的是 的 接收器。你需要用到的工具有wireless tool...