我有一个用C#编码的“操作员”库。
每个运算符都实现相同的接口,并且能够处理原语数组(int,double,string,int [],double [],string []),然后返回原语。运算符中的代码由基本语言功能组成,例如基本数学运算,字符串运算,循环(如果)。
现在,我希望能够同时在Java和C#中运行此逻辑,并且既不想使用JNI包装器,也不想使用Mono。
我正在寻找一种方法,可以从一个代码源/配置生成Java类和C#类。
一个明显的解决方案是定义我自己的语法,然后对解析器和类生成器进行编码,但是我想知道是否存在任何与语言无关,与平台无关的机制可以做到这一点?
最佳答案
我能想象的最好是使用诸如http://www.cs2j.com/之类的转译器。这很大程度上取决于您使用的工具。例如,如果您正在开发API,则可以使用Swagger这样的api框架,使用YAML或JSON(并且代码编辑器本身可以选择转换为不同的客户端/服务器语言)。