C# .cs文件能否在.java软件中工作?

C# .cs文件能否在.java软件中工作?,c#,java,cross-language,C#,Java,Cross Language,所以我在考虑做一个GUI。我的朋友告诉我他知道如何在C#中实现这一点,所以我在设置GUI时采用了这种方法。有没有办法让C制作的GUI在java中可用?没有!这是行不通的。Java的GUI类是不同的,因此即使您将.cs文件重命名为.Java文件并进行了轻微修改,代码也无法工作 不,不行。您无法将Java和C编译成单个可执行程序包。否。Java和.NET与GUI交互的方式完全不同。是的,您可以。你绝对不应该。 我曾经编写过一个perl应用程序,它使用我制作的VB GUI,它们通过OLE进行通信 这可

所以我在考虑做一个GUI。我的朋友告诉我他知道如何在C#中实现这一点,所以我在设置GUI时采用了这种方法。有没有办法让C制作的GUI在java中可用?

没有!这是行不通的。Java的GUI类是不同的,因此即使您将.cs文件重命名为.Java文件并进行了轻微修改,代码也无法工作

不,不行。您无法将Java和C编译成单个可执行程序包。

否。Java和.NET与GUI交互的方式完全不同。

是的,您可以。你绝对不应该。 我曾经编写过一个perl应用程序,它使用我制作的VB GUI,它们通过OLE进行通信


这可能是你所能做的最糟糕的构造,但不要:)

不实际。你不能只给C#编译器一个Java文件,反之亦然

不过,如果您真的下定决心,可以使用将Windows窗体公开给Java


还有一些,但它不再被积极开发。

我认为如果你用Java编码,你应该学习如何用Java制作GUI。然而,如果您希望C#和Java都能互操作,那么您需要一个新的层,它就像运行在CLR上的C#程序和运行在JVM上的Java程序之间的桥梁。下面的链接很好地解释了如何通过运行时桥直接从C#程序调用Java例程:


您需要在GUI上用适当的逻辑绑定一些东西。例如,可能存在用于创建新文件的“文件”>“新建”菜单选择。因此,此菜单命令需要绑定到逻辑。如果不编写这些逻辑、事件处理程序或在GUI类中定义其他一些功能,您就无法逃离。严格地说,您总是需要在由GUI类组成的表示层上编写大量代码。因此,您的朋友也需要构建表示层本身。因为一个无用的用户界面被称为原型而不是程序。另外,不要忘记运行时网桥会显著降低性能。最后,我建议您去学习如何用Java制作GUI。

不要认为OP指定它必须是一个可执行的包。也许您可以使用C#然后不用担心Java?您可以在CLR上运行Java,但通常不会这样做。看,我不知道,谢谢。即使我从未使用过它,我想它也不会运行良好。不过,如果斯凯拉姆和他的朋友能很好地合作,这可能是斯凯拉姆问题的另一个解决方案:)