這種方法對下列組織可能感興趣:
- 將技術堆疊從 Java 切換為 C#。
- 必須維護 C# 和相同產品的 Java 版本。
- 想要擁有熱門 Java 連結庫的 .NET 版本。
有兩種方式可將 Java 程式代碼移植到 C#。 第一種方式是手動移植程序代碼。 這牽涉到熟練的開發人員,他們既瞭解 .NET 和Java,又熟悉每個語言的適當慣用語。 對於少量的程式代碼,或想要完全從 Java 移至 C# 的組織而言,此方法最有意義。
第二種移植方法是使用程式代碼轉換程式,例如 Sharpen 來嘗試並自動化程式。 Sharpen 是 Versant 的 開放原始碼 轉換器,原本用來將 db4o 的程式代碼從 Java 移植到 C#。 db4o 是 Versant 在 Java 中開發的面向物件資料庫,然後移植到 .NET。 使用程式代碼轉換器對於必須同時存在於這兩種語言且需要兩者之間一些同位的項目來說,可能很合理。
在 ngit 專案中可以看到自動化程式代碼轉換工具合理時的範例。 Ngit 是 Java 專案的 埠 jgit。 Jgit 本身是 Git 原始程式碼管理系統的 Java 實作。 為了從 Java 產生 C# 程式代碼,ngit 程式設計人員會使用自定義自動化系統從 jgit 擷取 Java 程式代碼、套用一些修補程式以容納轉換程式,然後執行 Sharpen,以產生 C# 程式代碼。 這可讓 ngit 專案受益於在 jgit 上完成的持續持續工作。
啟動載入自動化程式代碼轉換工具時,通常會有一項非簡單的工作,這可能證明是使用障礙。 在許多情況下,手動將Java移植到 C# 可能更簡單且更容易。