类型映射

From Apache OpenOffice Wiki
Jump to: navigation, search



CLI 语言绑定主要运行连接到办公软件的程序以及用符合 CLI 的语言编写的程序。因此,所有 UNO 类型都必须映射成 CLI 类型。但是,不需要所有 CLI 类型都有映射,除非您要与 UNO(二进制 UNO)中的任意 CLI 程序(不是 UNO 组件)进行交互。由于我们重点介绍的是与 UNO 组件的交互,因此,我们将只介绍 UNO 类型的映射。其他映射可能会在以后加以介绍(例如,System.Decimal、索引器等)。


本文档仅介绍 UNO 类型到 CLI 的完整映射。


UNO 类型将被映射成公共类型系统 (CTS) 中的类型。尽管有些类型不符合 CTS(例如,使用无符号类型),但它们应该可以从各种 CLI 编程语言中使用。在可能的情况下,本文档将用框架类库中的相应类表示 CTS 类型。.NET 语言可以提供特定的内置类型,可以使用这些类型而不使用这些类。例如,在 C# 中,您可以使用 int,而不使用 System.Int32


由于此类型映射规范总体上以 CLI 为目标,因此,给定映射时可以采用 IL 汇编程序代码形式。但是,为了便于理解,通常用 C# 示例来说明映射。


在 IL 汇编程序语法中会提供元数据。


本文档提到了如何用某种具体语言定义 UNO 类型的主题。由于当前实现的 UNO 运行时不允许语言绑定引入新的类型,因此本主题只是个虚设。例如,用 C# 或 Java 编写的组件可以包含在 UNO 系统中应使用的新类型。目前,必须将新类型作为 idlc 编译程序的二进制输出提供,并且必须通知 UNO 识别这些新类型,例如,将这些新类型合并到中央 types.rdb 中。在远程方案中,在所有参与的进程中必须呈现这些类型二进制。

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