1

我正在使用IKVM向 .NET 公开一个 Java 库,它将 Java 字节码编译为 CLR 字节码。这很好用,我的问题与 API 设计有关。我的 API 非常简单和小巧。方法调用返回一个实现 java.util.Set 的对象。我的问题是,从 .NET 开发人员的角度来看,以下哪一项对开发人员更友好:

  1. 要将此 Java 对象直接返回给开发人员,在这种情况下,开发人员必须将 IKVM Core 和 Util 库导入到他们的代码中,或者
  2. 尝试将返回的 Java 对象包装在 .NET 友好的界面中?.NET 的唯一 Set 接口标准是ISet,它只存在于 .NET 4 中。

一般来说,我认为将返回的对象包装在 .NET 开发人员期望看到的接口中会更好,这表明最好将我的公共 API 设计为返回 ISet。但是,我也认为允许我的应用程序在早期版本的 .NET 上运行会很好,如果 API 依赖于 ISet,这是不可能的。如果我不使用 ISet,那么似乎任何 Set 接口都是可以接受的,包括 java.util.Set。

任何人都可以提供任何指导,我将不胜感激。

4

0 回答 0