Method, software and apparatus for referencing a method in object-based programming
    1.
    发明授权
    Method, software and apparatus for referencing a method in object-based programming 失效
    用于引用基于对象的编程中的方法的方法,软件和装置

    公开(公告)号:US06381734B1

    公开(公告)日:2002-04-30

    申请号:US09089619

    申请日:1998-06-03

    IPC分类号: G06F945

    CPC分类号: G06F9/449

    摘要: Method and apparatus for encapsulating a reference to a method in object-based programming systems and ensuring that the reference is safe are disclosed. The method of encapsulation provides for: a) defining an entity that defines the shape of the method to be referenced; b) obtaining a reference to a method; c) storing this reference in arbitrary data structures; d) passing the reference to code written by other parties; e) enabling invocation of the method by anyone holding the method reference; and f) enabling the holder of a method reference to determine the target object and method being referenced. These objectives are achieved in a strongly typed manner, making it possible for: a) developers to learn of type mismatch problems early (at compile-time) rather than late (at run-time); and b) development tools to present information to developers about the shape of components that use delegates. In addition, a model of event based programming is disclosed, wherein event-related code can be encapsulated in delegates.

    摘要翻译: 公开了一种用于封装对基于对象的编程系统中的方法的参考并确保参考是安全的方法和装置。 封装方法提供:a)定义定义要引用的方法的形状的实体; b)获得对方法的引用; c)将此参考存储在任意数据结构中; d)传递其他方面编写的代码; e)允许任何持有方法引用的方法的调用; 以及f)使得方法引用的持有人能够确定所引用的目标对象和方法。 这些目标是以强力类型的方式实现的,从而有可能:a)开发人员早期(在编译时)而不是迟到(在运行时)学习类型不匹配问题; 和b)开发工具向开发人员介绍使用代表的组件的形状。 另外,公开了一种基于事件的编程的模型,其中事件相关代码可以封装在委托中。

    Delegate-based event handling
    2.
    发明授权
    Delegate-based event handling 失效
    基于代理的事件处理

    公开(公告)号:US06951022B1

    公开(公告)日:2005-09-27

    申请号:US09808263

    申请日:2001-03-14

    IPC分类号: G06F9/46

    CPC分类号: G06F9/542

    摘要: A delegate-based event-driven programming model facilitates application development by allowing event handlers to be manipulated on an individual basis. In the delegate-based event-driven programming model, the recipient of an event need not be aware that is receiving the event because the event is treated as a call from a method. In addition, event handlers can be dynamically manipulated, such that recipients of events can be added or removed during runtime. Flexibility of event handling is improved as a result.

    摘要翻译: 基于代理的事件驱动的编程模型通过允许事件处理程序在个别基础上进行操作来促进应用程序开发。 在基于委托的事件驱动的编程模型中,事件的收件人不需要意识到正在接收事件,因为事件被视为来自方法的调用。 此外,可以动态地处理事件处理程序,以便可以在运行时添加或删除事件的接收者。 结果提高了事件处理的灵活性。

    Code blueprints
    3.
    发明授权
    Code blueprints 有权
    代码蓝图

    公开(公告)号:US07500224B2

    公开(公告)日:2009-03-03

    申请号:US10285849

    申请日:2002-11-01

    IPC分类号: G06F9/44

    CPC分类号: G06F8/51

    摘要: A blueprint is described that provides a framework for writing a code generator. A blueprint translator translates the blueprint into one or more classes with source code. The newly generated code can then be compiled. If the user wishes to add additional functionality to a generated class, this is done in a separate source file. At compilation time, the compiler combines the generated class with the user's additions, as if they were written in a single class. Later, if the blueprint is ever changed, the generated code can safely be updated without overwriting the user's additions. Alternately, the user can embed his desired additions or changes directly into the blueprint (embedded code). In this manner, should the blueprint ever be re-compiled, the user's changes will still be present. The partial classes technique can be used in conjunction with the embedded code technique.

    摘要翻译: 描述了提供编写代码生成器的框架的蓝图。 蓝图翻译器将蓝图转换为一个或多个具有源代码的类。 然后可以编译新生成的代码。 如果用户希望为生成的类添加附加功能,则可以在单独的源文件中完成。 在编译时,编译器将生成的类与用户的添加相结合,就好像它们被编写在一个类中一样。 之后,如果蓝图发生变化,生成的代码可以安全地更新,而不会覆盖用户的添加。 或者,用户可以将他想要的添加或改变直接嵌入到蓝图(嵌入代码)中。 以这种方式,如果蓝图有待重新编译,用户的变化仍然存在。 部分类技术可以与嵌入式代码技术结合使用。

    Virtual method protection
    5.
    发明授权
    Virtual method protection 有权
    虚拟方法保护

    公开(公告)号:US07155703B2

    公开(公告)日:2006-12-26

    申请号:US10622413

    申请日:2003-07-18

    IPC分类号: G06F9/44

    CPC分类号: G06F8/433 G06F9/449

    摘要: Performing validation of a derived virtual method includes receiving program code where the derived virtual method is derived from a virtual method of the program language used to generate the program code, compiling the program code to an intermediate language expression, generating metadata descriptive of the compiled program code, validating the use of the derived virtual method by accessing the metadata, and permitting the use of the derived virtual method if the metadata grants override permissions concerning the virtual method of the programming language. The metadata indicating access and override permissions may be generated while compiling the program code in the common language infrastructure. Alternately, the flag may use pre-existing values indicative of the access and override permissions concerning the virtual method of the programming language.

    摘要翻译: 执行衍生虚拟方法的验证包括接收程序代码,其中派生虚拟方法从用于生成程序代码的程序语言的虚拟方法导出,将程序代码编译为中间语言表达,生成描述编译程序的元数据 代码,通过访问元数据来验证导出的虚拟方法的使用,以及如果元数据授予涉及编程语言的虚拟方法的覆盖许可,则允许使用导出的虚拟方法。 可以在公共语言基础设施中编译程序代码时生成指示访问和覆盖权限的元数据。 或者,标志可以使用指示关于编程语言的虚拟方法的访问和覆盖许可的预先存在的值。

    Method and system for invoking methods of an object
    6.
    发明授权
    Method and system for invoking methods of an object 失效
    用于调用对象方法的方法和系统

    公开(公告)号:US5689709A

    公开(公告)日:1997-11-18

    申请号:US595527

    申请日:1996-02-01

    IPC分类号: G06F9/42 G06F9/00

    CPC分类号: G06F9/443

    摘要: A computer method and system for invoking a function member of an object that is exposed to a client computer program by a source computer program are provided. In a preferred embodiment, the source computer program instantiates the object which has a dispatching interface. The dispatching interface has an invoking function member for receiving a name of a function member and arguments for the function member. When a client computer program wishes to invoke the function member, the client computer program invokes the invoking function member of the dispatching interface passing the name of the function member and arguments for the function member. The invoking function member invokes the function member with the passed name passing the arguments. When the function member returns, the invoking function member returns to the client computer program.

    摘要翻译: 提供了一种用于通过源计算机程序调用暴露给客户端计算机程序的对象的功能成员的计算机方法和系统。 在优选实施例中,源计算机程序实例化具有调度接口的对象。 调度接口具有用于接收函数成员的名称和函数成员的参数的调用函数成员。 当客户端计算机程序希望调用函数成员时,客户端计算机程序调用调度接口的调用函数成员,传递函数成员的名称和函数成员的参数。 调用函数成员使用传递的名称传递参数来调用函数成员。 当函数成员返回时,调用函数成员返回到客户端计算机程序。

    Method and system for invoking methods of an object through a
dispatching interface
    7.
    发明授权
    Method and system for invoking methods of an object through a dispatching interface 失效
    通过调度界面调用对象的方法和系统

    公开(公告)号:US5515536A

    公开(公告)日:1996-05-07

    申请号:US975832

    申请日:1992-11-13

    IPC分类号: G06F9/42 G06F9/44

    CPC分类号: G06F9/443

    摘要: A computer method and system for invoking a function member of an object that is exposed to a client computer program by a source computer program are provided. In a preferred embodiment, the source computer program instantiates the object which has a dispatching interface. The dispatching interface has an invoking function member for receiving a name of a function member and arguments for the function member. When a client computer program wishes to invoke the function member, the client computer program invokes the invoking function member of the dispatching interface passing the name of the function member and arguments for the function member. The invoking function member invokes the function member with the passed name passing the arguments. When the function member returns, the invoking function member returns to the client computer program.

    摘要翻译: 提供了一种用于通过源计算机程序调用暴露给客户端计算机程序的对象的功能成员的计算机方法和系统。 在优选实施例中,源计算机程序实例化具有调度接口的对象。 调度接口具有用于接收函数成员的名称和函数成员的参数的调用函数成员。 当客户端计算机程序希望调用函数成员时,客户端计算机程序调用调度接口的调用函数成员,传递函数成员的名称和函数成员的参数。 调用函数成员使用传递的名称传递参数来调用函数成员。 当函数成员返回时,调用函数成员返回到客户端计算机程序。