KO
|
EN
gitlite — search
Search
#typescript
#ai-agents
#ai
#dsh-plugin
#deepseek-harness
#open-source
#claude-code
#codex
#cli
#developer-tools
#react
#windows
ProjectExodus
★ 79
Open GitHub ↗
Transpiler from C# to Kotlin.
Download README (.md)
Explore Similar Repositories
Hands-On-Reactive-Programming-with-Python
:
Hands-On-Reactive-Programming-with-Python, published by Packt
AttributedStringBuilder
:
Easily construct attributed strings in swift
fluent-sqlite-driver
:
Fluent driver for SQLite
eagle
:
Eagle分布式rpc调用,借助Zookeeper实现服务注册和发现,基于AQS实现高性能连接池,支持分布式追踪、监控、过载保护等配置。提供Spring和SpringBoot插件,方便与Spring和SpringBoot集成。
phpadr
:
A PHP based command-line interface tool for working with Architecture Decision Records (ADR)
// repository documentation
Was this content helpful?
★ 0
(0 ratings)
Select Rating:
★
★
★
★
★
Submit Feedback
Recent Feedback
×
Download README
Do you want to download the
README.md
file for
ProjectExodus
?
Download (.md)
# ProjectExodus Transpiler from C# to Kotlin. > Requires the .NET 9 SDK. Very early pre alpha ## Usage The transpiler expects the path to a C# solution and an output directory for the generated Kotlin files. ```bash dotnet run --project src/CsToKotlinTranspiler -- <solution.sln> <output-directory> ``` You may also provide the paths via environment variables: ```bash export CS2KOTLIN_SRC=/path/to/solution.sln export CS2KOTLIN_OUT=./kotlinOutput dotnet run --project src/CsToKotlinTranspiler ``` If neither arguments nor environment variables are supplied, the tool uses default paths. ### Single-file mode To transpile a single C# file and print the syntax-highlighted Kotlin directly to the console, use the companion CLI: ```bash dotnet run --project src/CsToKotlinCli -- <path-to-file.cs> ``` Run the command with `-h` to show its built-in help text. The CLI uses [Spectre.Console](https://spectreconsole.net/) for colorful output. Demo: ```csharp using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication3 { class Example { public void Main() { var i = 1.ToString(); var res = Console.ReadLine(); Console.WriteLine("You wrote " + res); } public void Conditionals() { var x = 1 > 2 ? "a" : "b"; } public string Arrays(string[] strings) { if (strings == null) { return "null"; } var x = ""; foreach (var s in strings) { x += "," + s; } return x; } public void Linq() { int[] ints = {1, 2, 3, 4, 5, 6, 7, 8}; var big = ints.Where(i => i > 4).Select(i => i*2).ToList(); } public void Delegates() { Action<int, string> del = (a, b) => { Console.WriteLine("{0} {1}", a, b); }; Func<int, string> del2 = a => "hello" + a; InvokeIt(del); } private void InvokeIt(Action<int, string> del) { del(1, "hello"); } } } ``` Gets transpiled into ```kotlin package consoleapplication3 class Example { fun main () : Unit { var i : String = 1.toString() var res : String = readLine() println("You wrote " + res) } fun conditionals () : Unit { var x : String = if (1 > 2) "a" else "b" } fun arrays (strings : Array<String>) : String { if (strings == null) { return "null" } var x : String = "" for(s in strings) { x += "," + s } return x } fun linq () : Unit { var ints : Array<Int> = arrayOf(1, 2, 3, 4, 5, 6, 7, 8) var big : List<Int> = ints.filter{it > 4}.map{it * 2}.toList() } fun delegates () : Unit { var del : (Int, String) -> Unit = {a, b -> println("{0} {1}", a, b) } var del2 : (Int) -> String = {a -> "hello" + a} invokeIt(del) } fun invokeIt (del : (Int, String) -> Unit) : Unit { del(1, "hello") } } ```