我有一个用C#.net创建的工具,想要在ruby中自动化该工具,目前这个工具是alpha阶段,我应该用C#创建COM文件还是应该创建键盘快捷方式来自动化Ruby中的工具?哪一个是最好的方式?
答案 0 :(得分:0)
我不确定你的意思是创建键盘快捷键,也许是作为粗略的消息传递系统?
无论如何,我相信允许外部控制/脚本化的典型方法是为您的程序公开API。在我需要自己做类似的事情的时候,我通常创建一个包含所有公开公开方法的接口,然后让我的主应用程序类实现这个接口。您可能需要使此COM可见,以允许非.NET环境访问该接口,是的。虽然IIRC这只是一个构建选项,但至少在VS 2010中,它是项目属性中的一个简单选项。
当然,根据您的工具有多复杂,或者您希望公开的数据和功能,您可能需要提供可以从脚本访问的多个公共接口,但只需1即可。在这种情况下,使用接口的一个优点是,您仍然可以在单个类中实现它。
答案 1 :(得分:0)
除了Aaron的回复:您的API应该可以被非.NET应用程序访问,这意味着您应该使用某种标准接口,例如TCP套接字,或某种消息队列,命名管道(如果这样的话)存在于Windows)等。
如果我在另一边,编写Ruby自动化应用程序(我经常使用它),我会投票使用一些简单的协议,REST或其子集,使用XML或(甚至更好)JSON的网络套接字作为数据载体。
至于实现这些,如果没有某种小型.NET HTTP服务器可以轻松嵌入到您的应用程序中,我会感到惊讶。