XInitialization

From Apache OpenOffice Wiki
Jump to: navigation, search


com.sun.star.lang.XInitialization 接口通常要手动实现,因为只有程序员了解如何通过使用 createInstanceWithArguments()createInstanceWithArgumentsAndContext() 从服务管理器接收到的参数对对象进行初始化。在 Java 中,也使用 XInitialization,但是 Java 工厂帮助程序可以提供一个使用参数的快捷方式,而不必直接实现 XInitialization。在特定情况下,Java 工厂帮助程序可以将参数传送到类的构造函数。如果需要更多信息,请参阅 编写 UNO 组件 - Java 中的简单组件 - 使用参数创建实例


XInitialization 的规范如下所示:

  // module com::sun::star::lang
 
  interface XInitialization : com::sun::star::uno::XInterface 
  {
      void initialize(sequence< any > aArguments) raises (com::sun::star::uno::Exception); 
  };


老样式 UNOIDL 服务规范通常会说明哪些参数要在 any 序列中使用以及其顺序。


随着具有显式构造函数的新样式服务规范的出现,现在在创建对象时可以清楚地声明要将哪些函数传递给对象。在构造函数中列出的参数就是传递给 XInitialization.initialize 的参数(目前,不同语言绑定在内部使用 XInitialization 来实现服务构造函数;不过,这种情况在将来也许会有所改变)。


Content on this page is licensed under the Public Documentation License (PDL).
Personal tools
In other languages