[發明專利]事件激發的前后方法執行有效
| 申請號: | 201110416404.5 | 申請日: | 2011-12-05 |
| 公開(公告)號: | CN102591638A | 公開(公告)日: | 2012-07-18 |
| 發明(設計)人: | P·維拉森;K·西蒙森;M·C·馬西亞斯;R·戈圖穆卡拉 | 申請(專利權)人: | 微軟公司 |
| 主分類號: | G06F9/44 | 分類號: | G06F9/44 |
| 代理公司: | 上海專利商標事務所有限公司 31100 | 代理人: | 黃嵩泉 |
| 地址: | 美國華*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 事件 激發 前后 方法 執行 | ||
1.一種至少部分地由計算設備來執行的用于源代碼定制的方法,所述方法包括:
響應于方法在程序的執行期間被調用610,確定是否存在預處理程序方法620;
如果存在預處理程序方法,則用方法的輸入參數來執行預處理程序方法630;
用預處理程序方法計算的值作為輸入參數來執行所述方法650;
如果存在后處理程序方法660,則用所述方法的返回值作為輸入參數來執行所述后處理程序方法680;以及
在所述程序中傳播所述后處理程序方法的返回值,其中所述預處理程序方法和所述后處理程序方法用于在不修改所述方法的源代碼的情況下來定制所述方法的行為。
2.根據權利要求1所述的方法,其特征在于,還包括:
如果存在不止一個的預處理程序方法204、206,則提供預處理程序方法的返回值作為到后續預處理程序方法的輸入參數,其中第一預處理程序方法接受所述方法208的輸入參數作為輸入參數,并且將上一個預處理程序方法所計算的值作為輸入參數提供給方法。
3.根據權利要求1所述的方法,其特征在于,還包括:
如果存在不止一個的后處理程序方法210、212,則向后處理程序方法提供所述方法208的返回值作為輸入參數,并且提供所述后處理程序方法的返回值作為到一后續后處理程序方法的輸入參數,其中在所述程序中傳播上一個后處理程序方法的返回值。
4.如權利要求1所述的方法,其特征在于,所述預處理程序方法和所述后處理程序方法204、210由定制開發者在多個任選的定制方法中選擇。
5.根據權利要求1所述的方法,其特征在于,還包括:
使定制開發者能注冊所述預處理程序方法和所述后處理程序方法204、210。
6.如權利要求1所述的方法,其特征在于,所述預處理程序方法和所述后處理程序方法204、210是靜態事件處理程序。
7.如權利要求6所述的方法,其特征在于,所述靜態事件處理程序用于所述程序102中的現有的類和表方法。
8.一種用于執行可定制的軟件程序的計算設備,所述計算設備包括:
用于存儲指令的存儲器504;
耦合至所述存儲器的處理器502,所述處理器結合所述存儲器中存儲的指令來執行所述可定制的軟件程序,其中所述處理器被配置成:
使定制開發者能注冊預處理程序方法和后處理程序方法中的至少一個;
響應于方法在程序執行期間被調用610,確定是否注冊了與被調用的方法相關聯的預處理程序方法和后處理程序方法中的至少一個620、660;
如果注冊了與被調用的方法相關聯的預處理程序方法,則在執行所述方法之前執行所述預處理程序方法;
用預處理程序方法計算的值作為所述方法的輸入參數來執行所述方法650;
如果注冊了與被調用的方法相關聯的后處理程序方法,則用所述方法的返回值作為后處理程序方法的輸入參數來執行所述后處理程序方法680;以及
在所述程序中傳播所述后處理程序方法的返回值,其中所述預處理程序方法和所述后處理程序方法用于在不修改所述方法的源代碼的情況下來定制所述方法的行為。
9.如權利要求8所述的計算設備,其特征在于,所述處理器還被配置成:
如果為被調用的方法208注冊了不止一個的預處理程序方法204、206,則將所述被調用方法的輸入參數提供給第一預處理程序方法,使用在先的預處理程序方法所計算的值作為到一后續預處理程序方法的輸入參數來執行每一個預處理程序方法,以及將上一個預處理程序方法所計算的值作為輸入參數提供給被調用的方法。
10.如權利要求8所述的計算設備,其特征在于,所述處理器還被配置成:
如果為被調用的方法208注冊了不止一個的后處理程序方法210、212,則將所述被調用方法的返回值提供給第一后處理程序方法作為輸入參數,使用在先的后處理程序方法的返回值作為到一后續后處理程序方法的輸入參數來執行每一個后處理程序方法,以及在所述程序中傳播上一個后處理程序方法的返回值。
11.如權利要求8所述的計算設備,其特征在于,所述處理器還被配置成:
使所述定制開發者能向程序表添加一屬性,指定要忽視那些預處理程序方法204、206以及哪些后事件處理程序方法210、212。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于微軟公司,未經微軟公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110416404.5/1.html,轉載請聲明來源鉆瓜專利網。





