[发明专利]事件激发的前后方法执行有效
申请号: | 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.vipzhuanli.com/pat/books/201110416404.5/1.html,转载请声明来源钻瓜专利网。