C# 코드를 Java 코드로 변환하는 효과적인 도구가 있습니까?C# 코드를 Java 코드로 변환하는 효과적인 도구가 있습니까?
답변
는 C 번호에 자바를 변환하는 Microsoft의 도구가있다. 반대 방향은 here과 here입니다. 이 방법이 효과가 없다면 C#과 java가 매우 유사하기 때문에 소스를 수동으로 변환하는 데 너무 오래 걸리지 않습니다.
내가 마이크로 소프트의 JLCA를 사용하고 정말 한 일 : http://weblogs.asp.net/jgalloway/archive/2007/01/24/identicons-ported-from-java-servlet-to-httphandler.aspx –
"C# 및 자바는 매우 유사합니다 "하하하, 좋은 농담, C에서 그들과 함께 작업 한 후에 자바에서 제네릭을 시도해보십시오. –
C#의 초기 버전은 자바와 거의 동일했지만 지금은 멀어졌습니다. –
C# -> Java 변환 도구가 없습니다. 구문은 쉽지만 프레임 워크는 크게 다릅니다. 도구가 있더라도 반대하는 것이 좋습니다. 나는 여러 가지 "이주"프로젝트를 수행했으며 전환이 좋은 선택 인 것처럼 보이지만 전환 프로젝트 은 항상 항상이 돈 구덩이로 들어서도록 강조 할 수는 없습니다. 바로 가기가 아니며, 결국에는 읽을 수없는 코드가 대상 언어를 이용하지 않습니다. 개인적인 경험으로 말하면, 재 작성이 더 저렴한 옵션이라고 가정합니다.
즉, 가장 효과적인 "도구"는 프로그래머입니다. 당신이 어떤 제네릭 새에 의존 (오른쪽 excatly 멀티 캐스팅의 의미를 얻을 수 행할 수 있지만, 하드) 람다, LINQ, 이벤트, 확장 방법, 어떤 반성을 사용하지 않는 :-) – marcospereira
너무 오래 "구문은 충분히 쉬운 것입니다"() 또는 디폴트 (T) (타입 소거는 나쁜 것입니다), 반복자 블록, 부호없는 변수, 연산자 과부하 ... 나는 계속 할 수 있습니다. 자바 애플 리케이션, C로 번역 #, 다시 다시 내가 쉽게 생각할 수있을 것 같아요.그러나 그것은 매우 제한적인 하위 집합입니다. C# – ShuggyCoUk
다시 작성하면 거의 더 저렴 해지고 더 나은 제품을 만들고 더 잘 이해할 수 있기 때문에 여전히 더하기 하나를 얻게됩니다. – ShuggyCoUk
C#에는 Java보다 몇 가지 기능이 더 있습니다. 예를 들면 다음과 같습니다. 많은 매우 간단한 C# 응용 프로그램이 대리자를 사용하는 반면 Java 사용자는 관찰자 패턴이 충분하다는 것을 나타냅니다. 따라서 위임자를 사용하는 C# 응용 프로그램을 도구에서 변환하려면 위임자를 사용하는 구조에서 관찰자 패턴 구현으로 구조를 변환해야합니다. 또 다른 문제점은 Java 메소드가있는 동안 C# 메소드가 기본적으로 가상이 아니라는 사실입니다. 또한 Java에는 메서드를 가상이 아닌 방법으로 만들 수있는 방법이 없습니다. 이것은 또 다른 문제를 만듭니다. C#의 응용 프로그램은 Java로 직접 변환되지 않는 다형성을 통해 가상 메서드가 아닌 비헤이비어를 활용할 수 있습니다. 주위를 둘러 보면 Java를 C#으로 변환하는 도구가 많이 있다는 것을 알게 될 것입니다. 단순한 언어이므로 (더 이상 말하지 않았다고 말하지 마십시오) 간단합니다. 그러나 C#을 Java로 변환하는 적절한 도구가 있다면 거의 찾을 수 없습니다.
장기적으로 두통이 줄어들어 Java에서 C#으로 변환하는 방법을 변경하는 것이 좋습니다. Db4Objects는 최근 Db4o를 C#으로 변환하는 데 사용하는 내부 도구를 공개했습니다. 그것은 선명하게 불린다. http://developer.db4o.com/Resources/view.aspx/Reference/Sharpen/How_To_Setup_Sharpen
(I 잠시 동안 그들과 함께 등록 된 한 그들이 스팸하지에 대한 좋은거야)
linq이 내 마음에 온다. linq를 자바로 사용하는 코드를 어떻게 변환합니까? – marcospereira
"Java는 메소드를 가상이 아닌 방법으로 만들 수있는 방법이 없습니다." - Java는 '최종'키워드를 사용합니다. 이는 메소드 앞에 배치 될 때 날카로운 '씰'과 동등합니다. –
I : 당신은 자신의 사이트에 등록하는 경우가 선명를 사용하는 방법에 대한 지침이 링크를 볼 수 있습니다 C#을 자바로 변환하려고하지만, 필요한 경우 .net 상호 운용성이 필요하다면, 체크 아웃하고 싶을 수도 있습니다. Mono
이것은 커프에서 벗어나지 만, 그렇지 않습니다. 그게 Grasshopper 그게 뭔데?
이것은 CIL (MSIL)을 java 바이트 코드로 변환합니다. OP는 무엇을 요구했는지 직접적으로 유용하지는 않습니다. 원 샷 변환 이외의 다른 것에 대해서 실제로 * 유용 할 가능성이 더 높다고 말할 것입니다. – ShuggyCoUk
Grasshopper가 아직 사용 가능하지 않은 것으로 보입니다. [이 기사] (http://www.theserverside.com/news/thread.tss?thread_id=50450)에 대한 의견을 읽으면 Grasshopper가 널리 사용되지 않았거나 기능이 풍부하지 않은 것처럼 보입니다. 또한 [Mainsoft가 초점을 변경했습니다] (http://en.wikipedia.org/wiki/Mainsoft) (더 이상 찾을 수없는 이유 일 수 있음)가 나타납니다. – Trisped
시도 그것은 나에게 자바
에 C 번호의 자동 (또는 반자동 이상) 변환을위한 최선의 선택 우리는 모두 C# 및 Java로 유지하기 위해 필요한 응용 프로그램이 보인다 Net2Java 볼 수 있습니다. 우리가 적극적으로이 제품을 유지 관리하기 때문에 일회성 포트는 옵션이 아닙니다. 우리는 Net2Java와 Mainsoft 도구를 조사했지만, 우리의 요구 사항 (Net2Java는 견고성이 부족하고 Mainsoft는 비용 및 소스 코드 변환 부족)을 충족시키지 못했습니다. 야간 빌드 스크립트의 일부로 실행되는 CS2J이라는 자체 도구를 만들고 Java에 C# 코드의 매우 효과적인 포트를 만듭니다.지금은 애플리케이션을 번역 할만큼 정확하지만 포괄적 인 툴로 간주되기까지는 갈 길이 멀다. 우리는 유사한 요구 사항을 가진 몇몇 당사자들에게이 기술을 라이센스했으며 공개적으로 공개한다는 아이디어를 가지고 놀고 있습니다. 그러나 핵심 비즈니스는 요즘 우리를 너무 바쁘게 만듭니다.
아,하지만 오픈 소스로 공개했다면, 그것을 사용하는 사람들 (필요에 따라 그 중 일부는) 자신의 필요에 맞게 확장 할 것입니다. 면허로 돈을 거의 벌지 않으면이 일을 할 수도 있습니다. – gbjbaanb
@gbjbaanb, 성공적인 오픈 소스 프로젝트는 커뮤니티를 육성하고 구축해야합니다. 신경 쓰지 않고 소스 코드를 덤핑하면 대부분의 오픈 소스 개발자들이 다른 옵션을 먼저 고려하게됩니다. –
업데이트 만하면 - CS2J가 오픈 소스로 출시되었습니다. (적어도 개인적으로, 적어도 아직은 모르겠다.) – RenniePet
구문은 거의 동일하지만 서로 다른 프레임 워크에 의존하므로 변환 할 수있는 유일한 방법은 두 언어를 모두 알고 코드를 변환하는 사람을 얻는 것입니다. 질문에 대한 대답은 "효과적인" 도구는 자바
These 사람은 이것에 대한 해결책을 갖고있는 것 같다,하지만 난 아직 시도하지 않았습니다. 그들은 또한 변환기의 데모 버전을 가지고 있습니다.
아마도 대신 jni4net - opensource bridge를 사용할 수 있을까? 또는 other options 목록입니다.
궁금한 분들을 위해 jni4net은 JVM과 CLR 사이의 다리 역할을합니다. 또한 CLR에서 실행되는 .Net 코드 (예 : VB 또는 C#)가 JVM에서 코드를 실행하고 JVM에서 실행되는 Java 코드가 CLR에서 코드를 실행하도록 허용합니다. 자세한 내용은 [2009/10/10, 2009/10/31 및 2009/11/03 블로그 게시물] (http://zamboch.blogspot.com/search/label/jni4net)을 참조하십시오. 그것이하는 것을 말하는 페이지 인 것처럼 보입니다. – Trisped
http://jni4net.sourceforge.net/ 조금 더 좋다 –
xrmVM http://www.xmlvm.org/clr2jvm을 살펴보세요. 아직 성숙한 지 아직 확실하지 않지만 몇 년 전부터 있습니다. XMLvm은 안드로이드 자바 애플 리케이션을 주로 iPhone으로 번역 한 것으로 믿어 지지만 XML 코드 변환 기반 프레임 워크는 다른 조합을 수행 할 수있을 정도로 유연합니다 (사이트의 다이어그램 참조).
이 변환을 수행하는 이유는 highly abundant oss code의 일부를 '납치'하여 자신/자신의 [Java] 프로젝트에서 사용해야 할 수도 있습니다.
건배
리치
@Rachel : 나는 자바에 새로운 해요하지만 꽤 잘 C 번호를 알고, 나는 누구의 기능 나는 새로운 C# 프로젝트로 변환하고 싶습니다 죽은 것으로 보인다 SourceForce에 오픈 소스 자바 프로젝트, 우연히. 나는 그런 도구를 가지고 무거운 물건을 들어 올리고 최소한 기본 방법과 구조를 변환하고 싶습니다. 그 후에 결과를보고 두뇌를 사용하여 남아있는 것이 무엇이든지간에 사용할 수있는 것으로 번역 할 수 있습니다. .NET 편안한 영역. –
@Rachel : 연금술. 사람들은 항상 가치없는 것을 금으로 바꾸려고 노력했습니다. ; P – Bobby
예 대부분의 프로젝트 버려진 매우 귀중한 될 수 있습니다. 마지막 포기한 프로젝트 그냥 PSC 코드 숨어있는 발견 7200 $ usd 완전히 자동화 된 내가 그것을 좋아하는 방법. 다시 쓸모 없게 될 때까지 : S – SSpoke